docs: @Override
    public final <T> T retrieveEntityById(final Map<String, Object> pAddParam,
      final Class<T> pEntityClass, final Object pItsId) throws Exception {
      String query = evalSqlSelect(pAddParam, pEntityClass);
      @SuppressWarnings("unchecked")
      IFactorySimple<T> facEn = (IFactorySimple<T>) this.entitiesFactoriesFatory
        .lazyGet(pAddParam, pEntityClass);
      T entity = facEn.create(pAddParam);
      @SuppressWarnings("unchecked")
      IFillerObjectFields<T> filler = (IFillerObjectFields<T>)
        this.fctFillersObjectFields.lazyGet(pAddParam, pEntityClass);
      String idFldName = this.tablesMap
        .get(pEntityClass.getSimpleName()).getIdFieldName();
      filler.fill(pAddParam, entity, pItsId, idFldName);
      pAddParam.put("isOnlyId", Boolean.TRUE);
      ColumnsValues columnsValues = evalColumnsValues(pAddParam, entity);
      pAddParam.remove("isOnlyId");
      String whereId = evalWhereId(entity, columnsValues);
      return retrieveEntity(pAddParam, pEntityClass,
        query + " where " + whereId + ";\n");
    }