private static void GenerateGraph()
{
_converterGraph = new Dictionary<StandardUnit, UnitGraphNode>
{
{StandardUnit.Seconds,UnitGraphNode.Seconds},
{StandardUnit.Microseconds,UnitGraphNode.Microseconds},
{StandardUnit.Milliseconds,UnitGraphNode.Milliseconds},
{StandardUnit.Bytes,UnitGraphNode.Bytes},
{StandardUnit.Kilobytes,UnitGraphNode.Kilobytes},
{StandardUnit.Megabytes,UnitGraphNode.Megabytes},
{StandardUnit.Gigabytes,UnitGraphNode.Gigabytes},
{StandardUnit.Terabytes,UnitGraphNode.Terabytes},
{StandardUnit.Bits,UnitGraphNode.Bits},
{StandardUnit.Kilobits,UnitGraphNode.Kilobits},
{StandardUnit.Megabits,UnitGraphNode.Megabits},
{StandardUnit.Gigabits,UnitGraphNode.Gigabits},
{StandardUnit.Terabits,UnitGraphNode.Terabits},
{StandardUnit.Percent,UnitGraphNode.Percent},
{StandardUnit.Count,UnitGraphNode.Count},
{StandardUnit.BytesSecond,UnitGraphNode.BytesSecond},
{StandardUnit.KilobytesSecond,UnitGraphNode.KilobytesSecond},
{StandardUnit.MegabytesSecond,UnitGraphNode.MegabytesSecond},
{StandardUnit.GigabytesSecond,UnitGraphNode.GigabytesSecond},
{StandardUnit.TerabytesSecond,UnitGraphNode.TerabytesSecond},
{StandardUnit.BitsSecond,UnitGraphNode.BitsSecond},
{StandardUnit.KilobitsSecond,UnitGraphNode.KilobitsSecond},
{StandardUnit.MegabitsSecond,UnitGraphNode.MegabitsSecond},
{StandardUnit.GigabitsSecond,UnitGraphNode.GigabitsSecond},
{StandardUnit.TerabitsSecond,UnitGraphNode.TerabitsSecond},
{StandardUnit.CountSecond,UnitGraphNode.CountSecond},
{StandardUnit.None,UnitGraphNode.None}
};
UnitGraphNode.Seconds.LinkTo(UnitGraphNode.Milliseconds, 1000);
UnitGraphNode.Milliseconds.LinkTo(UnitGraphNode.Microseconds, 1000);
UnitGraphNode.Kilobytes.LinkTo(UnitGraphNode.Bytes, 1024);
UnitGraphNode.Megabytes.LinkTo(UnitGraphNode.Kilobytes, 1024);
UnitGraphNode.Gigabytes.LinkTo(UnitGraphNode.Megabytes, 1024);
UnitGraphNode.Terabytes.LinkTo(UnitGraphNode.Gigabytes, 1024);
UnitGraphNode.Kilobits.LinkTo(UnitGraphNode.Bits, 1024);
UnitGraphNode.Megabits.LinkTo(UnitGraphNode.Kilobits, 1024);
UnitGraphNode.Gigabits.LinkTo(UnitGraphNode.Megabits, 1024);
UnitGraphNode.Terabits.LinkTo(UnitGraphNode.Gigabits, 1024);
UnitGraphNode.KilobytesSecond.LinkTo(UnitGraphNode.BytesSecond, 1024);
UnitGraphNode.MegabytesSecond.LinkTo(UnitGraphNode.KilobytesSecond, 1024);
UnitGraphNode.GigabytesSecond.LinkTo(UnitGraphNode.MegabytesSecond, 1024);
UnitGraphNode.TerabytesSecond.LinkTo(UnitGraphNode.GigabytesSecond, 1024);
UnitGraphNode.KilobitsSecond.LinkTo(UnitGraphNode.BitsSecond, 1024);
UnitGraphNode.MegabitsSecond.LinkTo(UnitGraphNode.KilobitsSecond, 1024);
UnitGraphNode.GigabitsSecond.LinkTo(UnitGraphNode.MegabitsSecond, 1024);
UnitGraphNode.TerabitsSecond.LinkTo(UnitGraphNode.GigabitsSecond, 1024);
UnitGraphNode.Bytes.LinkTo(UnitGraphNode.Bits, 8);
UnitGraphNode.BytesSecond.LinkTo(UnitGraphNode.BitsSecond, 8);
}