public Object clone() throws CloneNotSupportedException {
    BeerConsumer consumer = (BeerConsumer) super.clone();
    consumer.setAlpineBeersToConsume(new Vector());
    Iterator<Alpine> alpineIterator = this.getAlpineBeersToConsume().iterator();
    while (alpineIterator.hasNext()) {
      Alpine alpine = alpineIterator.next();
      consumer.addAlpineBeerToConsume(alpine.clone());
    }

    consumer.setBlueLightBeersToConsume(new Vector());
    Iterator<BlueLight> blueLightIterator = this.getBlueLightBeersToConsume().iterator();
    while (blueLightIterator.hasNext()) {
      Blue blue = blueLightIterator.next();
      consumer.addBlueLightBeerToConsume((BlueLight) blue.clone());
    }
    return consumer;
  }
 public void addBlueBeerToConsume(Blue blue) {
   blue.setBeerConsumer(this);
   blueBeersToConsume.put(blue.getUniqueKey(), blue);
 }