code: @Override
    public final PurchaseInvoiceServiceLine process(
      final Map<String, Object> pReqVars,
        final PurchaseInvoiceServiceLine pEntity,
          final IRequestData pRequestData) throws Exception {
      getSrvOrm().deleteEntityWhere(pReqVars,
        PurchaseInvoiceServiceTaxLine.class, "ITSOWNER=" + pEntity.getItsId());
      this.prcAccEntityPbDelete.process(pReqVars, pEntity, pRequestData);
      // Beige-Orm refresh:
      pReqVars.put("DebtorCreditortaxDestinationdeepLevel", 2);
      pEntity.setItsOwner(getSrvOrm()
        .retrieveEntity(pReqVars, pEntity.getItsOwner()));
      pReqVars.remove("DebtorCreditortaxDestinationdeepLevel");
      // optimistic locking (dirty check):
      Long ownerVersion = Long.valueOf(pRequestData
        .getParameter(PurchaseInvoice.class.getSimpleName() + ".ownerVersion"));
      pEntity.getItsOwner().setItsVersion(ownerVersion);
      AccSettings as = getSrvAccSettings().lazyGetAccSettings(pReqVars);
      TaxDestination txRules = this.utlInvLine.revealTaxRules(pReqVars,
        pEntity.getItsOwner(), as, as.getIsExtractSalesTaxFromPurchase());
      this.utlInvLine.makeTotals(pReqVars, pEntity, as, txRules);
      pReqVars.put("nextEntity", pEntity.getItsOwner());
      pReqVars.put("nameOwnerEntity", PurchaseInvoice.class.getSimpleName());
      return null;
    }
docs: <p>Process entity request.</p>
  @param pReqVars 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