public void setPrices(List<Price> prices)
   {
      if (prices == null)
         throw new IllegalArgumentException("The prices field in the " + frameType.getId() + " frame may not be empty.");

      if (prices.size() == 0)
         prices.add(new Price(Currency.USD, "0.00"));

      // see if the price contains duplicate currencies
      Currency previous = null;
      for(Price price : prices)
      {
         if (price.getCurrency() == previous)
         throw new IllegalArgumentException("Invalid price list.  It contains two different " + price.getCurrency().getCode() + " prices.");
      }

      this.dirty  = true;
      this.prices = prices;
   }