public static void TestReading(Header header) { var readQueue = new Queue <BlockStructure>(); readQueue.Enqueue(header); while (readQueue.Count > 0) { BlockStructure block = readQueue.Dequeue(); block.Load(); foreach (BlockStructure b in block.ReferencedBlocks) { readQueue.Enqueue(b); } block.Unload(); } }