@Override
 public boolean equals(Object o) {
   if (!(o instanceof Flag)) {
     return false;
   }
   Flag other = (Flag) o;
   return value.equals(other.value());
 }
 @Override
 public int hashCode() {
   // This is specified in java.lang.Annotation.
   return 127 * "value".hashCode() ^ value.hashCode();
 }