/** {@inheritDoc} */
 @Override
 public void setAlpha(float alpha) throws IllegalArgumentException {
   if (alpha != components.getAlpha()) {
     components.setAlpha(alpha);
     changeListener.attributeChanged(this);
   }
 }
 /** {@inheritDoc} */
 @Override
 public void setGreen(float green) throws IllegalArgumentException {
   if (green != components.getGreen()) {
     components.setGreen(green);
     changeListener.attributeChanged(this);
   }
 }
 /** {@inheritDoc} */
 @Override
 public void setBlue(float blue) throws IllegalArgumentException {
   if (blue != components.getBlue()) {
     components.setBlue(blue);
     changeListener.attributeChanged(this);
   }
 }
 /** {@inheritDoc} */
 @Override
 public void setRed(float red) throws IllegalArgumentException {
   if (red != components.getRed()) {
     components.setRed(red);
     changeListener.attributeChanged(this);
   }
 }
 /** {@inheritDoc} */
 @Override
 public void set(float red, float green, float blue) throws IllegalArgumentException {
   if (red != components.getRed()
       || green != components.getGreen()
       || blue != components.getBlue()) {
     components.setRed(red);
     components.setGreen(green);
     components.setBlue(blue);
     changeListener.attributeChanged(this);
   }
 }