public final boolean areValueEqual(AbstractPropertyContainer other, AbstractProperty[] properties) {
      for (AbstractProperty property : properties) {
        if (!property.areEqual(getValueOf((PropertyImpl)property), other.getValueOf(property))) return false;
      }
      return true;
    }
public final boolean areValueEqual(AbstractPropertyContainer other, AbstractProperty[] properties)