public void Write(TextWriter writer, InteractivePackageManager packageManager) { if (writer == null) { throw new ArgumentNullException(nameof(writer)); } var manifestCell = Contents.FirstCell as YamlMetadataCell; if (manifestCell == null) { manifestCell = new YamlMetadataCell(); if (Contents.FirstCell == null) { Contents.AppendCell(manifestCell); } else { Contents.InsertCellBefore(Contents.FirstCell, manifestCell); } } Manifest.Title = title; if (packageManager?.InstalledPackages != null) { Manifest.Packages = packageManager.InstalledPackages.ToImmutableArray(); } manifestCell.Buffer.Value = Manifest.ToString(); Contents.Write(writer); Contents.RemoveCell(manifestCell); }