public final boolean equals(Object o) {
		if (o == this) {
			return true;
		}

		// instanceof does not break symmetry since equals() is final.
		if (!(o instanceof AbstractAgentControllerIdentityImplementation)) {
			return false;
		}

		final String otherIdentity = ((AbstractAgentControllerIdentityImplementation) o).m_identity;

		return m_identity.equals(otherIdentity) && getClass().equals(o.getClass());
	}
Implement equality semantics. We compare equal to all copies of ourself, but nothing else.

@param o	Object to compare.
@return <code>true</code> => its equal.
ngrinder-core/src/main/java/net/grinder/engine/controller/AbstractAgentControllerIdentityImplementation.java