public static TuringMachine LoadTuringMachine(string dir) { string content = File.ReadAllText(dir); var jset = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All }; TuringMachine machine = JsonConvert.DeserializeObject <TuringMachine>(content, jset); foreach (Edge <TuringCondition> edge in machine.Edges) { edge.GetConditions.RemoveAt(0); } machine.ReconstructRefs(); return(machine); }