Пример #1
0
 @Override
 public synchronized void destroySimon(String name) {
   if (name.equals(ROOT_SIMON_NAME)) {
     throw new SimonException("Root Simon cannot be destroyed!");
   }
   AbstractSimon simon = allSimons.remove(name);
   if (simon.getChildren().size() > 0) {
     replaceUnknownSimon(simon, UnknownSimon.class);
   } else {
     ((AbstractSimon) simon.getParent()).replaceChild(simon, null);
   }
   callback.onSimonDestroyed(simon);
 }