@Override
	public final boolean equals(Object obj) {
		if (obj == this) {
			return true;
		}
		if (obj instanceof Pair) {
			Pair<?, ?> other = (Pair<?, ?>) obj;
			return (mFirst == null ? other.mFirst == null : mFirst.equals(other.mFirst)) &&
							(mSecond == null ? other.mSecond == null : mSecond.equals(other.mSecond));
		}
		return false;
	}