protected void addPromotions(
      final AbstractOrderModel source,
      final PromotionOrderResults promoOrderResults,
      final AbstractOrderData prototype) {
    if (promoOrderResults != null) {
      final double productsDiscountsAmount = getProductsDiscountsAmount(source);
      final double orderDiscountsAmount = getOrderDiscountsAmount(source);

      prototype.setProductDiscounts(createPrice(source, Double.valueOf(productsDiscountsAmount)));
      prototype.setOrderDiscounts(createPrice(source, Double.valueOf(orderDiscountsAmount)));
      prototype.setTotalDiscounts(
          createPrice(source, Double.valueOf(productsDiscountsAmount + orderDiscountsAmount)));
      prototype.setAppliedOrderPromotions(
          getPromotions(promoOrderResults.getAppliedOrderPromotions()));
      prototype.setAppliedProductPromotions(
          getPromotions(promoOrderResults.getAppliedProductPromotions()));
    }
  }