private static @NonNls @Nullable String getTargetString(final @NotNull PsiMethodCallExpression call,
                                                              @NotNull Function<@NotNull PsiElement, @NotNull String> textExtractor) {
        final PsiMethodCallExpression qualifierCall = MethodCallUtils.getQualifierMethodCall(call);
        if (qualifierCall == null) return null;

        final PsiExpression receiver = qualifierCall.getMethodExpression().getQualifierExpression();
        if (receiver == null) return null;

        final PsiExpression[] args = qualifierCall.getArgumentList().getExpressions();
        if (args.length != 2) return null;

        final PsiLiteralExpression equalTo = (PsiLiteralExpression)call.getArgumentList().getExpressions()[0];
        final String equalToValue = PsiLiteralUtil.charLiteralString(equalTo);
        return String.format("%s.charAt(%s) %s %s",
                             textExtractor.apply(receiver),
                             textExtractor.apply(args[0]),
                             isNegated(call, false) ? "!=" : "==",
                             equalToValue
        );
      }
private static @NonNls @Nullable String getTargetString(final @NotNull PsiMethodCallExpression call,
                                                              @NotNull Function<@NotNull PsiElement, @NotNull String> textExtractor)