docs: @Override
    public final GoodsAdviseCategories process(
      final Map<String, Object> pAddParam,
        final GoodsAdviseCategories pEntity,
          final IRequestData pRequestData) throws Exception {
      if (!pEntity.getIsNew()) {
        if (pAddParam.get("user") != null) {
          throw new ExceptionWithCode(ExceptionWithCode.WRONG_PARAMETER,
            "edit_not_allowed",
              pAddParam.get("user").toString());
        } else {
          throw new ExceptionWithCode(ExceptionWithCode.WRONG_PARAMETER,
            "edit_not_allowed");
        }
      }
      //Beige-ORM refresh:
      pEntity.setGoods(getSrvOrm().retrieveEntity(pAddParam, pEntity.getGoods()));
      if (!(InvItem.FINISHED_PRODUCT_ID.equals(pEntity.getGoods().getItsType()
        .getItsId()) || InvItem.MERCHANDISE_ID.equals(pEntity.getGoods()
          .getItsType().getItsId()))) {
        if (pAddParam.get("user") != null) {
          throw new ExceptionWithCode(ExceptionWithCode.WRONG_PARAMETER,
            "type_must_be_material_or_merchandise",
              pAddParam.get("user").toString());
        } else {
          throw new ExceptionWithCode(ExceptionWithCode.WRONG_PARAMETER,
            "type_must_be_material_or_merchandise");
        }
      }
      if (pEntity.getIsNew()) {
        getSrvOrm().insertEntity(pAddParam, pEntity);
      } else {
        getSrvOrm().updateEntity(pAddParam, pEntity);
      }
      return pEntity;
    }