docs: @Override
    public final IProcessor lazyGet(//NOPMD
      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(PrcDelItemFromCart.class.getSimpleName())) {
              proc = lazyGetPrcDelItemFromCart(pAddParam);
            } else if (pBeanName.equals(PrCart.class.getSimpleName())) {
              proc = lazyGetPrCart(pAddParam);
            } else if (pBeanName.equals(PrcItemInCart.class.getSimpleName())) {
              proc = lazyGetPrcItemInCart(pAddParam);
            } else if (pBeanName.equals(PrLog.class.getSimpleName())) {
              proc = lazyGetPrLog(pAddParam);
            } else if (pBeanName.equals(PrcCheckOut.class.getSimpleName())) {
              proc = lazyGetPrcCheckOut(pAddParam);
            } else if (pBeanName.equals(PrBuOr.class.getSimpleName())) {
              proc = lazyGetPrBuOr(pAddParam);
            } else if (pBeanName.equals(PrBur.class.getSimpleName())) {
              proc = lazyGetPrBur(pAddParam);
            } else if (pBeanName.equals(PrPur.class.getSimpleName())) {
              proc = lazyGetPrPur(pAddParam);
            } else if (pBeanName.equals(PrcItemPage.class.getSimpleName())) {
              proc = lazyGetPrcItemPage(pAddParam);
            } else if (pBeanName.equals(PrcWebstorePage.class.getSimpleName())) {
              proc = lazyGetPrcWebstorePage(pAddParam);
            }
          }
        }
      }
      if (proc == null) {
        throw new ExceptionWithCode(ExceptionWithCode.CONFIGURATION_MISTAKE,
          "There is no processor with name " + pBeanName);
      }
      return proc;
    }