internal BaseItem FindKey(Key key) { switch (key.ItemType) { case ItemType.RootItem: return(RootTreeRoot.FindFirst(key, this)); case ItemType.DirItem: return(RootTreeRoot.FindFirst(key, this)); default: throw new NotImplementedException(); } }
internal NodeHeader GetFsTree(ulong treeId) { NodeHeader tree; if (FsTrees.TryGetValue(treeId, out tree)) { return(tree); } var rootItem = RootTreeRoot.FindFirst <RootItem>(new Key(treeId, ItemType.RootItem), this); if (rootItem == null) { return(null); } tree = ReadTree(rootItem.ByteNr, rootItem.Level); FsTrees[treeId] = tree; return(tree); }