@Override
          public void write(FactoredExternalizableGraphElement<?> elem) throws IOException {
            if (!commonPartWritten) {
              commonPartWritten = true;
              writeGraphElement(entry.getKey());
            }
            elem.write(GraphDataOutputImpl.this);
          }
@Override
          public void write(FactoredExternalizableGraphElement<?> elem)