public boolean equals( Object o ) {
    Tuple<T, E> tuple = ( Tuple<T, E> ) o;
    return tuple.getFirstElement().equals( firstElement ) &&
        tuple.getSecondElement().equals( secondElement );
  }