public IFFFileNode(Stream input) : base(input) { Apply(reader.ReadFileHeader()); var nodes = new List<IFFContentNode>(); int read = 0; while(read < Length) { var node = new IFFContentNode(input); read += node.Length; nodes.Add(node); } Nodes = new ReadOnlyCollection<IFFContentNode>(nodes); }