boolean (Object o) { if (this == o) return true; if (!(o instanceof BaseInjection that)) return false; if (!Objects.equals(getDisplayName(), that.getDisplayName())) return false; if (!sameLanguageParameters(that)) return false; if (myPlaces.length != that.myPlaces.length) return false; for (int i = 0, len = myPlaces.length; i < len; i++) { if (myPlaces[i].isEnabled() != that.myPlaces[i].isEnabled()) { return false; } } // enabled flag is not counted this way: if (!Arrays.equals(myPlaces, that.myPlaces)) return false; return true; }