Program: 27035
Project: 27035
Buggy source:
public ModelViewDefinition(ProcessorManager manager,Element element){
  super(element,manager);
  ModelView modelView=element.getAnnotation(ModelView.class);
  this.query=modelView.query();
  this.databaseName=modelView.databaseName();
  if (databaseName == null || databaseName.isEmpty()) {
    databaseName=DBFlowProcessor.DEFAULT_DB_NAME;
  }
  databaseWriter=manager.getDatabaseWriter(databaseName);
  this.viewTableName=getModelClassName() + databaseWriter.classSeparator + TABLE_VIEW_TAG;
  setDefinitionClassName(databaseWriter.classSeparator + DBFLOW_MODEL_VIEW_TAG);
  this.name=modelView.name();
  if (name == null || name.isEmpty()) {
    name=getModelClassName();
  }
  DeclaredType typeAdapterInterface=null;
  final DeclaredType modelViewType=manager.getTypeUtils().getDeclaredType(manager.getElements().getTypeElement(Classes.MODEL_VIEW),manager.getTypeUtils().getWildcardType(manager.getElements().getTypeElement(Classes.MODEL).asType(),null));
  for (  TypeMirror superType : manager.getTypeUtils().directSupertypes(element.asType())) {
    if (manager.getTypeUtils().isAssignable(superType,modelViewType)) {
      typeAdapterInterface=(DeclaredType)superType;
      break;
    }
  }
  if (typeAdapterInterface != null) {
    final List<? extends TypeMirror> typeArguments=typeAdapterInterface.getTypeArguments();
    modelReferenceClass=manager.getElements().getTypeElement(typeArguments.get(0).toString());
  }
  createColumnDefinitions((TypeElement)element);
  implementsLoadFromCursorListener=ProcessorUtils.implementsClass(manager.getProcessingEnvironment(),Classes.LOAD_FROM_CURSOR_LISTENER,(TypeElement)element);
  mMethodWriters=new FlowWriter[]{new LoadCursorWriter(this,false,implementsLoadFromCursorListener),new ExistenceWriter(this,false),new WhereQueryWriter(this,false)};
}

Fixed version (ground truth):
public ModelViewDefinition(ProcessorManager manager,Element element){
  super(element,manager);
  ModelView modelView=element.getAnnotation(ModelView.class);
  this.query=modelView.query();
  this.databaseName=modelView.databaseName();
  databaseWriter=manager.getDatabaseWriter(databaseName);
  this.viewTableName=getModelClassName() + databaseWriter.classSeparator + TABLE_VIEW_TAG;
  setDefinitionClassName(databaseWriter.classSeparator + DBFLOW_MODEL_VIEW_TAG);
  this.name=modelView.name();
  if (name == null || name.isEmpty()) {
    name=getModelClassName();
  }
  DeclaredType typeAdapterInterface=null;
  final DeclaredType modelViewType=manager.getTypeUtils().getDeclaredType(manager.getElements().getTypeElement(Classes.MODEL_VIEW),manager.getTypeUtils().getWildcardType(manager.getElements().getTypeElement(Classes.MODEL).asType(),null));
  for (  TypeMirror superType : manager.getTypeUtils().directSupertypes(element.asType())) {
    if (manager.getTypeUtils().isAssignable(superType,modelViewType)) {
      typeAdapterInterface=(DeclaredType)superType;
      break;
    }
  }
  if (typeAdapterInterface != null) {
    final List<? extends TypeMirror> typeArguments=typeAdapterInterface.getTypeArguments();
    modelReferenceClass=manager.getElements().getTypeElement(typeArguments.get(0).toString());
  }
  createColumnDefinitions((TypeElement)element);
  implementsLoadFromCursorListener=ProcessorUtils.implementsClass(manager.getProcessingEnvironment(),Classes.LOAD_FROM_CURSOR_LISTENER,(TypeElement)element);
  mMethodWriters=new FlowWriter[]{new LoadCursorWriter(this,false,implementsLoadFromCursorListener),new ExistenceWriter(this,false),new WhereQueryWriter(this,false)};
}