code: protected <T> T loadEntity(EntityConvertor<BE, E, T> conversion)
              throws EntityNotFoundException, RelationNotFoundException {
  
          return inTx(tx -> {
              BE result = tx.querySingle(context.select().get());
  
              if (result == null) {
                  throwNotFoundException();
              }
  
              E entity = tx.convert(result, context.entityClass);
  
              if (!isApplicable(entity)) {
                  throwNotFoundException();
              }
  
              return conversion.convert(result, entity, tx);
          });
      }
docs: Loads the entity from the backend and let's the caller do some conversion on either the backend representation of
  the entity or the converted entity (both of these are required even during the loading so no unnecessary work is
  done by providing both of the to the caller).
  
  @param conversion the conversion function taking the backend entity as well as the model entity
  @param <T>        the result type
  @return the converted result of loading the entity
  @throws EntityNotFoundException
  @throws RelationNotFoundException