@Override public boolean equals ( Object obj ) {
    if ( this == obj ) { return true ; }
    if ( obj == null ) { return false ; }
    if ( this.getClass ( ) != obj.getClass ( ) ) { return false ; }
    final Move other = (Move) obj ;
    if ( this.isUpDown != other.isUpDown ) { return false ; }
    if ( this.word == null ) {
      if ( other.word != null ) { return false ; }
    } else if ( !this.word.equals ( other.word ) ) { return false ; }
    if ( this.x != other.x ) { return false ; }
    if ( this.y != other.y ) { return false ; }
    return true ;
  }