internal static SealDirectory InternalDeserializeSealDirectory(PipReader reader) { DirectoryArtifact artifact = reader.ReadDirectoryArtifact(); var directory = new SealDirectory( artifact.Path, reader.ReadSortedReadOnlyArray(reader1 => reader1.ReadFileArtifact(), OrdinalFileArtifactComparer.Instance), reader.ReadSortedReadOnlyArray(reader1 => reader1.ReadDirectoryArtifact(), OrdinalDirectoryArtifactComparer.Instance), (SealDirectoryKind)reader.ReadByte(), reader.ReadPipProvenance(), reader.ReadReadOnlyArray(reader1 => reader1.ReadStringId()), reader.ReadReadOnlyArray(reader1 => reader1.ReadStringId()), reader.ReadBoolean()); directory.SetDirectoryArtifact(artifact); Contract.Assume(directory.IsInitialized && directory.Directory == artifact); return(directory); }