docs: public final <T> T retrieveEntity(final Map<String, Object> pAddParam,
      final Class<T> pEntityClass,
        final IRecordSet<RS> pRecordSet) throws Exception {
      @SuppressWarnings("unchecked")
      IFactorySimple<T> facEn = (IFactorySimple<T>) this.entitiesFactoriesFatory
        .lazyGet(pAddParam, pEntityClass);
      T entity = facEn.create(pAddParam);
      String foreignFieldNmsNm = "foreignFieldNms";
      List<String> foreignFieldNms = new ArrayList<String>();
      pAddParam.put(foreignFieldNmsNm, foreignFieldNms);
      String currentLevelNm = "currentLevel";
      List<Integer> currentLevel = new ArrayList<Integer>();
      currentLevel.add(1);
      pAddParam.put(currentLevelNm, currentLevel);
      String deepLevelNm = "deepLevel";
      List<Integer> deepLevel = new ArrayList<Integer>();
      deepLevel.add(2); //default top level
      pAddParam.put(deepLevelNm, deepLevel);
      this.fillerEntitiesFromRs.fill(pAddParam, entity, pRecordSet);
      //(TODO itself) exit from all recursions:
      pAddParam.remove(currentLevelNm);
      pAddParam.remove(deepLevelNm);
      pAddParam.remove(foreignFieldNmsNm);
      return entity;
    }