@Override public int hashCode(){
  int hash;
  if (normalized.length() > 0) {
    hash=normalized.hashCode();
  }
 else {
    hash=original.hashCode();
  }
  if (matcher != null) {
    hash^=matcher.hashCode();
  }
  return hash;
}

@ Override public int hashCode ( ) { int hash ; if ( normalized . length ( ) > 0 ) { hash = normalized . hashCode ( ) ; } else { hash = original . hashCode ( ) ; } if ( matcher != null ) { hash ^= matcher . hashCode ( ) ; } return hash ; }
returns a hash code for this expression object .
