@Override public int hashCode(){
  int hash=0;
  if (altFormat != null) {
    hash+=altFormat.hashCode();
  }
  if (projection != null) {
    hash=hash * 37;
    hash+=projection.hashCode();
  }
  if (version != null) {
    hash=hash * 37;
    hash+=version.hashCode();
  }
  return hash;
}

@ Override public int hashCode ( ) { int hash = 0 ; if ( altFormat != null ) { hash += altFormat . hashCode ( ) ; } if ( projection != null ) { hash = hash * 37 ; hash += projection . hashCode ( ) ; } if ( version != null ) { hash = hash * 37 ; hash += version . hashCode ( ) ; } return hash ; }
the hashcode for a context is just the hashcode of its parts .
