public void Write(TProtocol oprot)
{
TStruct struc = new TStruct("Graph");
oprot.WriteStructBegin(struc);
TField field = new TField();
if (__isset.nodeType)
{
field.Name = "nodeType";
field.Type = TType.I32;
field.ID = 1;
oprot.WriteFieldBegin(field);
oprot.WriteI32((int)NodeType);
oprot.WriteFieldEnd();
}
if (Roots != null && __isset.roots)
{
field.Name = "roots";
field.Type = TType.List;
field.ID = 2;
oprot.WriteFieldBegin(field);
{
oprot.WriteListBegin(new TList(TType.String, Roots.Count));
foreach (string _iter10 in Roots)
{
oprot.WriteString(_iter10);
}
oprot.WriteListEnd();
}
oprot.WriteFieldEnd();
}
if (AdjacencyList != null && __isset.adjacencyList)
{
field.Name = "adjacencyList";
field.Type = TType.List;
field.ID = 3;
oprot.WriteFieldBegin(field);
{
oprot.WriteListBegin(new TList(TType.Struct, AdjacencyList.Count));
foreach (Adjacency _iter11 in AdjacencyList)
{
_iter11.Write(oprot);
}
oprot.WriteListEnd();
}
oprot.WriteFieldEnd();
}
oprot.WriteFieldStop();
oprot.WriteStructEnd();
}