@Override
  public void write(GraphDataOutput out) throws IOException {
    super.write(out);
    out.writeUTF(myOuterFqName);
    out.writeUTF(mySuperFqName);
    RW.writeCollection(out, myInterfaces, s -> out.writeUTF(s));
    RW.writeCollection(out, myFields, f -> f.write(out));
    RW.writeCollection(out, myMethods, m -> m.write(out));
    RW.writeCollection(out, myAnnotationTargets, t -> out.writeInt(t.ordinal()));
    out.writeInt(myRetentionPolicy == null? -1 : myRetentionPolicy.ordinal());
  }
@Override
  public void write(GraphDataOutput out)