@Override
	public boolean equals(Object other) {
		if ((other == null) || !(other instanceof Pair<?,?>)) {
			return false;
		}
		
		return ((Pair<?, ?>)other).first.equals(first) && ((Pair<?, ?>)other).second.equals(second);
	}