code: private void build(Map<String, D6ModelClassFieldInfo> refFieldMap) {
  
          refFieldMap.clear();
  
          final Field[] fields = mModelClazz.getFields();
  
          for (int i = 0; i < fields.length; i++) {
  
              final Field field = fields[i];
  
              final DBColumn annoColumn = field.getAnnotation(DBColumn.class);
              if (annoColumn == null) {
                  // there is no column annotation.
                  continue;
              }
              final String columnName = annoColumn.columnName();
              final String columnType = annoColumn.columnType();
  
              if (columnName == null || columnType == null) {
                  continue;
              }
  
              final D6ModelClassFieldInfo fieldInfo = new D6ModelClassFieldInfo();
  
              //
              fieldInfo.field = field;
              fieldInfo.columnName = columnName;
              fieldInfo.columnType = columnType;
              fieldInfo.value = null;
              //
              fieldInfo.isAutoIncrement = annoColumn.isAutoIncrement();
              fieldInfo.isNullable = annoColumn.isNullable();
              fieldInfo.isPrimaryKey = annoColumn.isPrimaryKey();
              fieldInfo.isUnique = annoColumn.isUnique();
  
              refFieldMap.put(columnName, fieldInfo);
          }
  
      }
docs: To populate FieldMap(key is columnName,value is fieldInfo) holding the
  column and fields
  
  @param refFieldMap
  reference of non-null field map
  @return