@Override
	public boolean equals(Object _pair) {
		if(_pair instanceof Pair){
			Pair<?> pair = (Pair<?>) _pair;

			if(this.first().equals(pair.first()) == false)
				return false;

			if(this.second() == null & pair.second() == null){
				return true;	
			}
			if(this.second() == null ^ pair.second() == null){
				return false;
			}
			if(this.second().equals(pair.second()) == false)
				return false;
		}
		return true;
	}