public static void saveTraitFields(@NotNull DataOutput out, Collection<TraitFieldDescriptor> values) throws IOException {
    writeSeq(out, values, descriptor -> {
      out.writeByte(descriptor.flags);
      writeUTF(out, descriptor.typeString);
      writeUTF(out, descriptor.name);
      writeSeq(out, descriptor.annotations, it -> writeUTF(out, it));
    });
  }
public static void saveTraitFields(@NotNull DataOutput out, Collection<TraitFieldDescriptor> values)