public boolean equals(Object o){
  if (!(o instanceof Rule)) {
    return false;
  }
  Rule other=(Rule)o;
  if (getLHS() != other.getLHS()) {
    return false;
  }
  if (!Arrays.equals(getFrench(),other.getFrench())) {
    return false;
  }
  return Arrays.equals(target,other.getEnglish());
}

public boolean equals ( Object o ) { if ( ! ( o instanceof Rule ) ) { return false ; } Rule other = ( Rule ) o ; if ( getLHS ( ) != other . getLHS ( ) ) { return false ; } if ( ! Arrays . equals ( getFrench ( ) , other . getFrench ( ) ) ) { return false ; } return Arrays . equals ( target , other . getEnglish ( ) ) ; }
two rules are equal of they have the same lhs , the same source rhs and the same target rhs .
