String (@NotNull PsiMethod superMethod, @NotNull PsiMethod overriding, PsiClass targetClass, boolean prependReturn) { @NonNls StringBuilder buffer = new StringBuilder(); if (prependReturn && !superMethod.isConstructor() && !PsiTypes.voidType().equals(superMethod.getReturnType())) { buffer.append("return "); } PsiClass aClass = superMethod.getContainingClass(); if (aClass != null && aClass.isInterface()) { PsiClass superQualifier = getSuperQualifier(aClass, targetClass); if (superQualifier != null) { buffer.append(superQualifier.getName()).append("."); } } buffer.append("super"); PsiParameter[] parameters = overriding.getParameterList().getParameters(); if (!superMethod.isConstructor()) { buffer.append("."); buffer.append(superMethod.getName()); } buffer.append("("); for (int i = 0; i < parameters.length; i++) { String name = parameters[i].getName(); if (i > 0) buffer.append(","); buffer.append(name); } buffer.append(")"); return buffer.toString(); }