Пример #1
0
  private <T extends PropertyContainer> void deleteFromTrackers(
      Primitive primitive, List<PropertyTracker<T>> trackers) {
    if (!trackers.isEmpty()) {
      Iterable<String> propertyKeys = primitive.getPropertyKeys(this);
      T proxy = (T) primitive.asProxy(this);

      for (String key : propertyKeys) {
        Object value = primitive.getProperty(this, key);
        for (PropertyTracker<T> tracker : trackers) {
          tracker.propertyRemoved(proxy, key, value);
        }
      }
    }
  }