docs: @Override
    public final Object lazyGet(
      final String pBeanName) throws Exception {
      if (this.isReconfiguring) {
        throw new ExceptionWithCode(ExceptionWithCode.SYSTEM_RECONFIGURING,
          "system_reconfiguring");
      }
      if (this.isReinitializing) {
        // locking:
        synchronized (this) {
          if (this.isReinitializing) {
            init(); //complex initializing inner factories delegate
            this.isReinitializing = false;
          }
        }
      }
      setLastRequestTime(new Date().getTime());
      Object bean = this.beansMap.get(pBeanName);
      // see in beige-common:
      // org.beigesoft.test.DoubleCkeckLockingWrApTest
      if (bean == null) {
        // locking:
        synchronized (this) {
          // make sure again whether it's null after locking:
          bean = this.beansMap.get(pBeanName);
          if (bean == null) {
            if (getHandlerEntityRequestName().equals(pBeanName)) {
              bean = this.factoryBldServices.lazyGetHandlerEntityRequest();
            } else if (getHndlEntityFileReportReqName().equals(pBeanName)) {
              bean = this.factoryBldServices.lazyGetHndlEntityFileReportReq();
            } else if (getSrvOrmName().equals(pBeanName)) {
              bean = lazyGetSrvOrm();
            } else if (getSessionTrackerName().equals(pBeanName)) {
              bean = lazyGetSessionTracker();
            } else if (getImportFullDatabaseCopyName().equals(pBeanName)) {
              bean = lazyGetImportFullDatabaseCopy();
            } else if (getDatabaseWriterName().equals(pBeanName)) {
              bean = lazyGetDbWriterFullCopy();
            } else if (getMailSenderName().equals(pBeanName)) {
              bean = lazyGetMailSender();
            } else if (getHndlI18nRequestName().equals(pBeanName)) {
              bean = lazyGetHndlI18nRequest();
            } else if (getUtilXmlName().equals(pBeanName)) {
              bean = lazyGetUtilXml();
            } else if (getSecureLoggerName().equals(pBeanName)) {
              bean = lazyGetSecureLogger();
            } else if (getLoggerName().equals(pBeanName)) {
              bean = lazyGetLogger();
            } else if (getMngSoftwareName().equals(pBeanName)) {
              bean = lazyGetMngSoftware();
            } else if (getSrvI18nName().equals(pBeanName)) {
              bean = lazyGetSrvI18n();
            } else if (getUtlJspName().equals(pBeanName)) {
              bean = lazyGetUtlJsp();
            } else if (getSrvDatabaseName().equals(pBeanName)) {
              bean = lazyGetSrvDatabase();
            } else if (getHlpEntitiesPageName().equals(pBeanName)) {
              bean = lazyGetHlpEntitiesPage();
            } else if (getSrvNumberToStringName().equals(pBeanName)) {
              bean = lazyGetSrvNumberToString();
            } else if (getSrvDateName().equals(pBeanName)) {
              bean = lazyGetSrvDate();
            } else if (getSrvPageName().equals(pBeanName)) {
              bean = lazyGetSrvPage();
            } else if (getFillEntityFromReqName().equals(pBeanName)) {
              bean = lazyGetFillEntityFromReq();
            } else if (getMngUvdSettingsName().equals(pBeanName)) {
              bean = lazyGetMngUvdSettings();
            } else if (getUtlPropertiesName().equals(pBeanName)) {
              bean = lazyGetUtlProperties();
            } else if (getUtlReflectionName().equals(pBeanName)) {
              bean = lazyGetUtlReflection();
            } else if (getMngSettingsGetDbCopyName().equals(pBeanName)) {
              bean = lazyGetMngSettingsGetDbCopy();
            } else if (getHldFieldsCnvTfsNamesName().equals(pBeanName)) {
              bean = lazyGetHldFieldsCnvTfsNames();
            } else if (getFctConvertersToFromStringName().equals(pBeanName)) {
              bean = lazyGetFctConvertersToFromString();
            } else if (getFctFillersObjectFieldsName().equals(pBeanName)) {
              bean = lazyGetFctFillersObjectFields();
            } else if (getHolderRapiSettersName().equals(pBeanName)) {
              bean = lazyGetHolderRapiSetters();
            } else if (getHolderRapiGettersName().equals(pBeanName)) {
              bean = lazyGetHolderRapiGetters();
            } else if (getHolderRapiFieldsName().equals(pBeanName)) {
              bean = lazyGetHolderRapiFields();
            } else if (getHlpInsertUpdateName().equals(pBeanName)) {
              bean = lazyGetHlpInsertUpdate();
            } else if (getFillerEntitiesFromRsName().equals(pBeanName)) {
              bean = lazyGetFillerEntitiesFromRs();
            } else if (getFctBnCnvBnFromRsName().equals(pBeanName)) {
              bean = lazyGetFctBnCnvBnFromRs();
            } else if (getFctBnCnvIbnToColumnValuesName().equals(pBeanName)) {
              bean = lazyGetFctBnCnvIbnToColumnValues();
            } else if (getCsvReaderName().equals(pBeanName)) {
              bean = lazyGetCsvReader();
            } else if (getSrvSqlEscapeName().equals(pBeanName)) {
              bean = lazyGetSrvSqlEscape();
            } else if (getHldCnvToColumnsValuesNamesName().equals(pBeanName)) {
              bean = lazyGetHldCnvToColumnsValuesNames();
            } else if (getPrepareDbAfterFullImportName().equals(pBeanName)) {
              bean = lazyGetPrepareDbAfterFullImport();
            } else if (getHldCnvFromRsNamesName().equals(pBeanName)) {
              bean = lazyGetHldCnvFromRsNames();
            } else if (getFctBcFctSimpleEntitiesName().equals(pBeanName)) {
              bean = this.factoryBldServices.lazyGetFctBcFctSimpleEntities();
            } else if (getFctBcCnvEntityToColumnsValuesName().equals(pBeanName)) {
              bean = lazyGetFctBcCnvEntityToColumnsValues();
            } else {
              bean = lazyGetOtherBean(pBeanName);
              if (bean == null && this.factoryOverBeans != null) {
                  bean = this.factoryOverBeans.lazyGet(pBeanName);
              }
            }
          }
        }
      }
      if (bean == null) {
        throw new ExceptionWithCode(ExceptionWithCode.CONFIGURATION_MISTAKE,
          "There is no bean with name " + pBeanName);
      }
      return bean;
    }