CharSequence (boolean usePrependLogic) { if (hasObtainViaAnnotation()) { final StringBuilder result = new StringBuilder(); result.append(fieldInBuilderName); result.append('('); if (StringUtil.isNotEmpty(viaFieldName)) { result.append(instanceVariableName).append(".").append(viaFieldName); } else if (StringUtil.isNotEmpty(viaMethodName)) { if(usePrependLogic) {//call to 'viaMethodName' is rendered as prepend statement result.append(fieldInBuilderName); } else { result.append(viaStaticCall ? getPsiClass().getQualifiedName() : instanceVariableName); result.append('.'); result.append(viaMethodName); result.append(viaStaticCall ? "(" + instanceVariableName + ")" : "()"); } } else { result.append(instanceVariableName).append(".").append(variableInClass.getName()); } result.append(')'); return result; } else { if(!usePrependLogic || !hasSingularAnnotation()) { return builderElementHandler.renderToBuilderCall(this); } else { return ""; } } }