Program: 26890
Project: 26890
Buggy source:
public static CodeBlock.Builder getSQLiteStatementMethod(AtomicInteger index,String elementName,String fullElementName,TypeName elementTypeName,boolean isModelContainerAdapter,BaseColumnAccess columnAccess,String variableNameString){
  String statement=columnAccess.getColumnAccessString(elementTypeName,elementName,fullElementName,variableNameString,isModelContainerAdapter);
  CodeBlock.Builder codeBuilder=CodeBlock.builder();
  String finalAccessStatement=statement;
  if (columnAccess instanceof TypeConverterAccess || isModelContainerAdapter) {
    finalAccessStatement="String_Node_Str" + fullElementName;
    TypeName typeName;
    if (columnAccess instanceof TypeConverterAccess) {
      typeName=((TypeConverterAccess)columnAccess).typeConverterDefinition.getDbTypeName();
    }
 else {
      typeName=elementTypeName;
    }
    codeBuilder.addStatement("String_Node_Str",typeName,finalAccessStatement,statement);
  }
  if (!elementTypeName.isPrimitive()) {
    codeBuilder.beginControlFlow("String_Node_Str",finalAccessStatement);
  }
  codeBuilder.addStatement("String_Node_Str",BindToStatementMethod.PARAM_STATEMENT,columnAccess.getSqliteTypeForTypeName(elementTypeName,isModelContainerAdapter).getSQLiteStatementMethod(),index.intValue(),finalAccessStatement);
  if (!elementTypeName.isPrimitive()) {
    codeBuilder.nextControlFlow("String_Node_Str").addStatement("String_Node_Str",BindToStatementMethod.PARAM_STATEMENT,index.intValue()).endControlFlow();
  }
  return codeBuilder;
}

Fixed version (ground truth):
public static CodeBlock.Builder getSQLiteStatementMethod(AtomicInteger index,String elementName,String fullElementName,TypeName elementTypeName,boolean isModelContainerAdapter,BaseColumnAccess columnAccess,String variableNameString){
  String statement=columnAccess.getColumnAccessString(elementTypeName,elementName,fullElementName,variableNameString,isModelContainerAdapter);
  CodeBlock.Builder codeBuilder=CodeBlock.builder();
  codeBuilder.addStatement("String_Node_Str",elementName,fullElementName,variableNameString);
  String finalAccessStatement=statement;
  if (columnAccess instanceof TypeConverterAccess || isModelContainerAdapter) {
    finalAccessStatement=(isModelContainerAdapter ? (variableNameString + elementName) : ("String_Node_Str" + fullElementName));
    TypeName typeName;
    if (columnAccess instanceof TypeConverterAccess) {
      typeName=((TypeConverterAccess)columnAccess).typeConverterDefinition.getDbTypeName();
    }
 else {
      typeName=elementTypeName;
    }
    codeBuilder.addStatement("String_Node_Str",typeName,finalAccessStatement,statement);
  }
  if (!elementTypeName.isPrimitive()) {
    codeBuilder.beginControlFlow("String_Node_Str",finalAccessStatement);
  }
  codeBuilder.addStatement("String_Node_Str",BindToStatementMethod.PARAM_STATEMENT,columnAccess.getSqliteTypeForTypeName(elementTypeName,isModelContainerAdapter).getSQLiteStatementMethod(),index.intValue(),finalAccessStatement);
  if (!elementTypeName.isPrimitive()) {
    codeBuilder.nextControlFlow("String_Node_Str").addStatement("String_Node_Str",BindToStatementMethod.PARAM_STATEMENT,index.intValue()).endControlFlow();
  }
  return codeBuilder;
}