void (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())); } }