code: @SuppressWarnings("unchecked")
  	public <T> T findById(String id, Class<T> entity) {
  		if (entity == null) {
  			throw new ApitraryOrmException("Cannot access null entity");
  		}
  		if (id == null || id.isEmpty()) {
  			return null;
  		}
  
  		log.debug("Searching " + entity.getName() + " " + id);
  
  		GetRequest request = new GetRequest();
  		request.setEntity(resolveApitraryEntity(entity));
  		request.setId(id);
  		GetResponse response = resolveApitraryClient().send(request);
  
  		T result = (T) new GetResponseUnmarshaller(this).unMarshall(response, entity);
  
  		if (result != null) {
  			List<Field> fields = ClassUtil.getAnnotatedFields(entity, Id.class);
  			if (fields.isEmpty() || fields.size() > 1) {
  				throw new ApitraryOrmIdException("Illegal amount of annotated id properties of class " + entity.getClass().getName());
  			} else {
  				ClassUtil.setSilent(result, fields.get(0).getName(), id);
  			}
  		}
  		return result;
  	}
docs: <p>
  findById.
  </p>
  
  @param id
  a {@link java.lang.String} object.
  @param entity
  a {@link java.lang.Class} object.
  @param <T>
  a T object.
  @return a T object.