public static <T extends Entity>T create(Cursor cursor,Class<T> cls,String... projection){
  try {
    T entity=cls.newInstance();
    Field[] fields=new Field[projection.length];
    for (int i=0, size=projection.length; i < size; i++) {
      fields[i]=getColumnField(projection[i],entity);
    }
    return create(entity,cursor,cls,fields);
  }
 catch (  Exception e) {
    e.printStackTrace();
    return null;
  }
}

public static < T extends Entity > T create ( Cursor cursor , Class < T > cls , String ... projection ) { try { T entity = cls . newInstance ( ) ; Field [ ] fields = new Field [ projection . length ] ; for ( int i = 0 , size = projection . length ; i < size ; i ++ ) { fields [ i ] = getColumnField ( projection [ i ] , entity ) ; } return create ( entity , cursor , cls , fields ) ; } catch ( Exception e ) { e . printStackTrace ( ) ; return null ; } }
create new entity instance from database raw instance .
