@Override
  protected void performInplaceIntroduce(IntroduceOperation operation) {
    final PsiElement statement = performRefactoring(operation);
    // put caret on identifier after "self."
    if (statement instanceof PyAssignmentStatement) {
        final List<PsiElement> occurrences = operation.getOccurrences();
        final PsiElement occurrence = findOccurrenceUnderCaret(occurrences, operation.getEditor());
        PyTargetExpression target = (PyTargetExpression) ((PyAssignmentStatement)statement).getTargets() [0];
        putCaretOnFieldName(operation.getEditor(), occurrence != null ? occurrence : target);
        final InplaceVariableIntroducer<PsiElement> introducer = new PyInplaceFieldIntroducer(target, operation, occurrences);
        introducer.performInplaceRefactoring(new LinkedHashSet<>(operation.getSuggestedNames()));
      }
    }
@Override
  protected void performInplaceIntroduce(IntroduceOperation operation)