@Override public boolean equals(Object obj) { if (!super.equals(obj)) { return false; } else if (obj instanceof OperationData) { OperationData data = (OperationData) obj; // Check all string preferences // ------------------------------- if (isPreferencesEqual(preference, data.getPreferences()) // Check preconditions && isResourceBookingEqual(data.getResourceBooking(), resourceBooking) && isPreconditionEqual( data.getSequenceCondition(), sequenceCondition) // Check postconditions && isResourceBookingEqual(data.getPResourceBooking(), pResourceBooking) && isPreconditionEqual( data.getPSequenceCondition(), pSequenceCondition) // Check invariant && isPreconditionEqual(data.getSeqInvariant(), seqInvariant) && isListEqual(data.getActions(), actions)) { return true; } } return false; }