code: public <T, K extends Serializable>
      T findById(
                      final Class<T> type,
                      final K id
                      )
      {
         _LOG_.info( "findById: type=" + type + ", ID=" + id );
         long  ts_start = System.currentTimeMillis();
  
         T  p_object = null;
         try {
             p_object = getDAO( type ).get( id );
         } catch (Exception ex) {
             throw new RepositoryException( ex );
         }
  
         _LOG_.info( "findById: elapsed time (ms)=" +  (System.currentTimeMillis() - ts_start) );
         _LOG_.debug( (p_object == null ? "findById: object NOT found" : "findById: object found") );
         if (p_object == null) {
             ObjectNotFoundException  ex = new ObjectNotFoundException( "type=" + type + ", id=" + id );
             ex.setType( type );
             ex.setId( id );
             throw ex;
         }
  
         return p_object;
     }
docs: *********************************************************************