private static GraphContext CreateContext(object graph)
{
if(graph == null)
{
return new GraphContext
{
TypeCode = ObjectTypeCode.Empty
};
}
TypeDescriptor descriptor = null;
ObjectTypeCode typeCode = graph.GetType().GetObjectTypeCode();
if(typeCode == ObjectTypeCode.Object)
{
descriptor = TypeDescriptor.For(graph.GetType());
}
return new GraphContext
{
Descriptor = descriptor,
Graph = graph,
TypeCode = typeCode
};
}