@Override public boolean equals(final Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final TieredSFCIndexStrategy other = (TieredSFCIndexStrategy) obj; if (!Arrays.equals(baseDefinitions, other.baseDefinitions)) { return false; } if (maxEstimatedDuplicateIds != other.maxEstimatedDuplicateIds) { return false; } if (maxEstimatedDuplicateIdsBigInteger == null) { if (other.maxEstimatedDuplicateIdsBigInteger != null) { return false; } } else if (!maxEstimatedDuplicateIdsBigInteger.equals( other.maxEstimatedDuplicateIdsBigInteger)) { return false; } if (orderedSfcIndexToTierId == null) { if (other.orderedSfcIndexToTierId != null) { return false; } } else if (!orderedSfcIndexToTierId.equals(other.orderedSfcIndexToTierId)) { return false; } if (!Arrays.equals(orderedSfcs, other.orderedSfcs)) { return false; } return true; }