docs: public final void processService(final Map<String, Object> pRqVs,
      final IRequestData pRqDt, final TradingSettings pTs,
        final OnlineBuyer pBuyer, final Long pItemId) throws Exception {
      List<ServiceSpecifics> itemSpecLst;
      List<ServicePlace> itemPlaceLst;
      itemSpecLst = retrieveItemSpecificsList(pRqVs, pTs, pItemId,
        ServiceSpecifics.class, ServiceToSale.class.getSimpleName());
      //extract main image if exist:
      int miIdx = -1;
      for (int i = 0; i < itemSpecLst.size(); i++) {
        if (itemSpecLst.get(i).getSpecifics().getItsType()
          .equals(ESpecificsItemType.IMAGE)) {
          pRqDt.setAttribute("itemImage", itemSpecLst.get(i));
          miIdx = i;
          break;
        }
      }
      if (miIdx != -1) {
        itemSpecLst.remove(miIdx);
      }
      AItemPrice<?, ?> itemPrice = getSrvCart().revealItemPrice(pRqVs, pTs,
        pBuyer, EShopItemType.SERVICE, pItemId);
      itemPlaceLst = getSrvOrm().retrieveListWithConditions(pRqVs,
          ServicePlace.class, " where ITEM=" + pItemId);
      pRqDt.setAttribute("itemSpecLst", itemSpecLst);
      pRqDt.setAttribute("itemPlaceLst", itemPlaceLst);
      pRqDt.setAttribute("itemPrice", itemPrice);
    }