@Override public int hashCode(){
  int hash=((time.toSecondOfDay() + (timeEndOfDay ? 1 : 0)) << 15) + (month.ordinal() << 11) + ((dom + 32) << 5)+ ((dow == null ? 7 : dow.ordinal()) << 2)+ (timeDefinition.ordinal());
  return hash ^ standardOffset.hashCode() ^ offsetBefore.hashCode()^ offsetAfter.hashCode();
}

@ Override public int hashCode ( ) { int hash = ( ( time . toSecondOfDay ( ) + ( timeEndOfDay ? 1 : 0 ) ) << 15 ) + ( month . ordinal ( ) << 11 ) + ( ( dom + 32 ) << 5 ) + ( ( dow == null ? 7 : dow . ordinal ( ) ) << 2 ) + ( timeDefinition . ordinal ( ) ) ; return hash ^ standardOffset . hashCode ( ) ^ offsetBefore . hashCode ( ) ^ offsetAfter . hashCode ( ) ; }
returns a suitable hash code .
