public boolean equals(Object o) {
		if (this == o) return true;
		if (!(o instanceof Triplet)) return false;
	
		@SuppressWarnings("unchecked")	
		final Triplet triplet = (Triplet) o;
		
		if (first != null ? !first.equals(triplet.first) : triplet.first != null) return false;
		if (second != null ? !second.equals(triplet.second) : triplet.second != null) return false;
		if (third != null ? !third.equals(triplet.third) : triplet.third != null) return false;
		
		return true;
	}