public static FileNode Create([NotNull] IBlockAllocator allocator, [NotNull] IDirectDiskAccess diskAccess, [NotNull] Address address, [NotNull] Address globalBlockStartAddress) { Validate.ArgumentNotNull(allocator, "allocator"); Validate.ArgumentNotNull(diskAccess, "diskAccess"); Validate.ArgumentNotNull(address, "address"); Validate.ArgumentNotNull(globalBlockStartAddress, "globalBlockStartAddress"); var node = new FileNode(allocator, diskAccess, address, globalBlockStartAddress); using (NodeLocker.Lock(node, true)) { node.Save(); return node; } }