static boolean equals(final UnionTypeDefinition type, final Object obj) {
    if (type == obj) {
      return true;
    }

    final UnionTypeDefinition other = castIfEquals(UnionTypeDefinition.class, type, obj);
    return other != null && type.getTypes().equals(other.getTypes());
  }
 static int hashCode(final UnionTypeDefinition type) {
   return Objects.hash(
       type.getPath(),
       type.getUnknownSchemaNodes(),
       type.getBaseType(),
       type.getUnits(),
       type.getDefaultValue(),
       type.getTypes());
 }
 static String toString(final UnionTypeDefinition type) {
   return toStringHelper(type).add("types", type.getTypes()).toString();
 }