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