public void SetContent(FileInfoContract target, Stream content) { ExecuteInSemaphore(() => { var gatewayContent = content.EncryptOrPass(encryptionKey); target.Size = (FileSize)content.Length; #if DEBUG CompositionInitializer.SatisfyImports(gatewayContent = new TraceStream(nameof(target), target.Name, gatewayContent)); #endif gateway.SetContent(rootName, target.Id, gatewayContent, null); if (content != gatewayContent) { gatewayContent.Close(); } }, nameof(SetContent), true); }