void (@NotNull PsiMethodCallExpression generatedMethodCall) { MyInaccessibleMethodReferencesVisitor methodReferencesVisitor = new MyInaccessibleMethodReferencesVisitor(); myOuterClass.accept(methodReferencesVisitor); methodReferencesVisitor.replaceAll(); MyInaccessibleItemsVisitor inaccessibleItemsVisitor = new MyInaccessibleItemsVisitor(); myOuterClass.accept(inaccessibleItemsVisitor); inaccessibleItemsVisitor.myReplaceDescriptors .forEach(descriptor -> descriptor.replace(myOuterClass, myElementFactory, generatedMethodCall)); }