void initSelectObject(SelectTable<T> table, Object obj, Map<Object, SelectColumn<T>> map) {
   for (FieldDefinition def : fields) {
     def.initWithNewObject(obj);
     SelectColumn<T> column = new SelectColumn<T>(table, def);
     map.put(def.getValue(obj), column);
   }
 }
 void initObject(Object obj, Map<Object, FieldDefinition> map) {
   for (FieldDefinition def : fields) {
     def.initWithNewObject(obj);
     map.put(def.getValue(obj), def);
   }
 }