throws ChangeVetoException {
if(!hasListeners()) {
getProperties().put(key, value);
} else {
Map properties = getProperties();
ChangeEvent ce = new ChangeEvent(
this,
Annotation.PROPERTY,
new Object[] { key, value },
new Object[] { key, properties.get(key)}
);