@Override
 public int hashCode() {
   int h = 1;
   h *= 1000003;
   h ^= key.hashCode();
   h *= 1000003;
   h ^= Arrays.hashCode(value);
   h *= 1000003;
   h ^= type.hashCode();
   h *= 1000003;
   h ^= (endpoint == null) ? 0 : endpoint.hashCode();
   return h;
 }