public Product(final ProductType productType, final PriceList priceList)
      throws ProductException, PriceListException, NoPriceException {
    if (productType == null) {
      throw new ProductException("Product type cannot be null");
    }

    if (!priceList.isPriceSet(productType)) {
      throw new NoPriceException();
    }

    this.productType = productType;
  }