if (value == null && (prop.isRole() && !prop.isCollection())) { get(propertyName);
if (prop.isCollection()) { throw new PersistenceException( "Cannot set a multi valued property." );
    public void set(String propertyName, Object value) {        validate(true);        // if value is an object or scalar then it adds to data container        Property prop = checkProperty(propertyName);        // make sure that the property is loaded so it can be nulled correctly        // this is a bit of a hack, but the correct solution is much harder        // and not very well supported.        if (value == null && (prop.isRole() && !prop.isCollection())) {            get(propertyName);        }        m_data.set(propertyName, value);    }