void (@NotNull String methodName, @PsiModifier.ModifierConstant @NotNull String visibility) { myMethodName = methodName; myVariableDatum = getInputVariables().getInputVariables().toArray(new VariableData[0]); myMethodVisibility = visibility; myArtificialOutputVariable = PsiTypes.voidType().equals(myReturnType) ? getArtificialOutputVariable() : null; final PsiType returnType = myArtificialOutputVariable != null ? myArtificialOutputVariable.getType() : myReturnType; if (returnType != null) { myReturnType = returnType; } }