private PsiCodeBlock getCodeBlock() throws IncorrectOperationException {
   if (codeBlock == null) {
     codeBlock =
         (PsiCodeBlock)
             MatcherImplUtil
                 .createTreeFromText(
                     myContext.getOptions().getMatchOptions().getSearchPattern(),
                     PatternTreeContext.Block,
                     myContext.getOptions().getMatchOptions().getFileType(),
                     myContext.getProject())[0]
                 .getParent();
   }
   return codeBlock;
 }
  @Nullable
  private PsiNamedElement getSymbolReplacementTarget(final PsiElement el)
      throws IncorrectOperationException {
    if (myContext.getOptions().getMatchOptions().getFileType() != StdFileTypes.JAVA)
      return null; // ?
    final PsiStatement[] searchStatements = getCodeBlock().getStatements();
    if (searchStatements.length > 0 && searchStatements[0] instanceof PsiExpressionStatement) {
      final PsiExpression expression =
          ((PsiExpressionStatement) searchStatements[0]).getExpression();

      if (expression instanceof PsiReferenceExpression
          && ((PsiReferenceExpression) expression).getQualifierExpression() == null) {
        // looks like symbol replacements, namely replace AAA by BBB, so lets do the best
        if (el instanceof PsiNamedElement) {
          return (PsiNamedElement) el;
        }
      }
    }

    return null;
  }