@Override
 @SuppressWarnings("FinalizeDeclaration")
 protected void finalize() throws Throwable {
   try {
     ClassFactory.cleanCache();
   } finally {
     super.finalize();
   }
 }
 @Override
 public void setProperty(String name, Object value) throws PropertyException {
   if (name.equals(FACTORY)) {
     coordinator.setFactories(value);
     return;
   }
   if (name.equals(IDResolver.class.getName())) {
     idResolver = (IDResolver) value;
     return;
   }
   if (name.equals(ClassResolver.class.getName())) {
     coordinator.classResolver = (ClassResolver) value;
     return;
   }
   if (name.equals(ClassLoader.class.getName())) {
     coordinator.classLoader = (ClassLoader) value;
     return;
   }
   super.setProperty(name, value);
 }