private static SynchronizedFileStream GetFileStream(string filepath)
        {
            lock ( _sync )
            {
                if (_collection.Contains(filepath))
                {
                    return(_collection[filepath]);
                }

                else
                {
                    Directory.CreateDirectory(Path.GetDirectoryName(filepath));
                    var stream = new SynchronizedFileStream(filepath);
                    _collection.Add(stream);
                    return(stream);
                }
            }
        }
 private static void WriteText(SynchronizedFileStream stream, string content, Encoding encoding, bool flush)
 {
     stream.WriteText(content, encoding, AutoFlush || flush);
 }