@Override
	public boolean equals(Object obj) {
		if (obj == null) {
			return false;
		}
		if (getClass() != obj.getClass()) {
			return false;
		}

		final DoubleKey<K> other = (DoubleKey<K>) obj;

		if (this.key1 != other.key1 && (this.key1 == null || !this.key1.equals(other.key1))) {
			return false;
		}
		if (this.key2 != other.key2 && (this.key2 == null || !this.key2.equals(other.key2))) {
			return false;
		}
		return true;
	}