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

		if (!(other instanceof ConnectionDetails)) {
			return false;
		}

		final ConnectionDetails otherConnectionDetails = (ConnectionDetails)other;

		return
			hashCode() == otherConnectionDetails.hashCode() &&
			getLocalPort() == otherConnectionDetails.getLocalPort() &&
			getRemotePort() == otherConnectionDetails.getRemotePort() &&
			isSecure() == otherConnectionDetails.isSecure() &&
			getLocalHost().equals(otherConnectionDetails.getLocalHost()) &&
			getRemoteHost().equals(otherConnectionDetails.getRemoteHost());
	}