@Override public int hashCode(){
  int retval=permission.hashCode();
  if (name != null)   retval^=name.hashCode();
  if (action != null)   retval^=action.hashCode();
  return retval;
}

@ Override public int hashCode ( ) { int retval = permission . hashCode ( ) ; if ( name != null ) retval ^= name . hashCode ( ) ; if ( action != null ) retval ^= action . hashCode ( ) ; return retval ; }
calculates a hash code value for the object . objects which are equal will also have the same hashcode .
