public void createShipments() {
    ArrayList<ArrayList<OrderLine>> shipmentList = new ArrayList<ArrayList<OrderLine>>();
    for (OrderLine singleLine : this.myLines) {
      boolean inserted = false;
      System.out.println(singleLine);
      for (ArrayList<OrderLine> list : shipmentList) {
        if (splitter.IsSatisfiedBy(list, singleLine)) {
          System.out.println("Add line: " + singleLine);
          list.add(singleLine);
          inserted = true;
          break;
        }
      }
      if (inserted == false) {
        System.out.println("create new list: " + singleLine);
        ArrayList<OrderLine> newList = new ArrayList<OrderLine>();
        newList.add(singleLine);
        shipmentList.add(newList);
      }
    }
    for (ArrayList<OrderLine> shipment : shipmentList) {
      double price = this.pricing.calcPrice(shipment);
      Shipment newShipment = new Shipment(shipment);
      newShipment.setPrice(price);

      System.out.println("ADD shipping: " + newShipment);
      this.shipments.add(newShipment);
    }
  }