newPermittedValues = permittedValues;
    public void setPermittedValues (Set values) throws IllegalValueException {         if (logger == null) {            logger = Logging.getLogger(getClass());                 }        Object o;        Iterator i = values.iterator();        permittedValues = new LinkedHashSet(); //eliminate chance that this method was called with permittedValues gotten from getPermittedValues().        while (i.hasNext()) {            o = i.next();            if ( possibleValues.contains(o) ) {                permittedValues.add(o);            } else {                throw new IllegalValueException("The following value is not a permitted value: " + o.toString() );            }        }    }