/**
  * Checks whether an overlapping by local variable takes place.
  *
  * @param ast an identifier.
  * @return true if an overlapping by local variable takes place.
  */
 private boolean isOverlappingByLocalVariable(DetailAST ast) {
   boolean overlapping = false;
   final DetailAST parent = ast.getParent();
   final DetailAST sibling = ast.getNextSibling();
   if (sibling != null && isAssignToken(parent.getType())) {
     final ClassFrame classFrame = (ClassFrame) findFrame(ast, true);
     if (classFrame != null) {
       final Set<DetailAST> exprIdents = getAllTokensOfType(sibling, TokenTypes.IDENT);
       if (classFrame.hasInstanceMember(ast)) {
         overlapping = classFrame.containsFieldOrVariableDef(exprIdents, ast);
       }
     }
   }
   return overlapping;
 }