Pair added
Box .equals() and .hashcode() are overriden, javadocs updated
Optional annotation added