code: @Override
    public final WageLine process(
      final Map<String, Object> pAddParam,
        final WageLine pEntity,
          final IRequestData pRequestData) throws Exception {
      if (pEntity.getGrossWage().doubleValue() == 0d) {
        throw new ExceptionWithCode(ExceptionWithCode.WRONG_PARAMETER,
          "total_is_0");
      }
      // Beige-Orm refresh:
      pEntity.setItsOwner(getSrvOrm()
        .retrieveEntity(pAddParam, pEntity.getItsOwner()));
      // optimistic locking (dirty check):
      Long ownerVersion = Long.valueOf(pRequestData
        .getParameter(Wage.class.getSimpleName() + ".ownerVersion"));
      pEntity.getItsOwner().setItsVersion(ownerVersion);
      if (pEntity.getItsOwner().getHasMadeAccEntries()) {
        throw new ExceptionWithCode(ExceptionWithCode.FORBIDDEN,
          "attempt_to_change_accounted_document");
      }
      if (pEntity.getIsNew()) {
        getSrvOrm().insertEntity(pAddParam, pEntity);
        pEntity.setIsNew(false);
      } else {
        getSrvOrm().updateEntity(pAddParam, pEntity);
      }
      updateOwner(pAddParam, pEntity);
      pAddParam.put("nextEntity", pEntity.getItsOwner());
      pAddParam.put("nameOwnerEntity", Wage.class.getSimpleName());
      return null;
    }
docs: <p>Process entity request.</p>
  @param pAddParam additional param, e.g. return this line's
  document in "nextEntity" for farther process
  @param pRequestData Request Data
  @param pEntity Entity to process
  @return Entity processed for farther process or null
  @throws Exception - an exception