code: @Override
    public final IProcessor lazyGet(
      final Map<String, Object> pAddParam,
        final String pBeanName) throws Exception {
      IProcessor proc =
        this.processorsMap.get(pBeanName);
      if (proc == null) {
        // locking:
        synchronized (this.processorsMap) {
          // make sure again whether it's null after locking:
          proc = this.processorsMap.get(pBeanName);
          if (proc == null) {
            if (pBeanName.equals(PrcEntitiesPage.class.getSimpleName())) {
              proc = createPutPrcEntitiesPage();
            } else if (pBeanName.equals(PrcRefreshHndlI18n
              .class.getSimpleName())) {
              proc = lazyGetPrcRefreshHndlI18n(pAddParam);
            } else if (pBeanName.equals(PrcAbout.class.getSimpleName())) {
              proc = lazyGetPrcAbout(pAddParam);
            }
          }
        }
      }
      if (proc == null && !this.isItSubfactory) {
        throw new ExceptionWithCode(ExceptionWithCode.CONFIGURATION_MISTAKE,
          "There is no processor with name " + pBeanName);
      }
      return proc;
    }
docs: <p>Get bean in lazy mode (if bean is null then initialize it).</p>
  @param pAddParam additional param
  @param pBeanName - bean name
  @return requested bean
  @throws Exception - an exception