<doc>
  <assembly>
    <name>Rebex.FileSystem</name>
  </assembly>
  <members>
    <member name="T:Rebex.IO.FileSystem.DirectoryNode">
      <summary>
            Represents a directory (folder) in the file system.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.DirectoryNode.#ctor(System.String,Rebex.IO.FileSystem.DirectoryNode,Rebex.IO.FileSystem.NodeTimeInfo,Rebex.IO.FileSystem.NodeAttributes)">
      <summary>
            Initializes a new instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
            </summary>
      <param name="nodeName">Name of the directory.</param>
      <param name="parent">Parent of the directory. </param>
      <param name="nodeTimeInfo">Time info of the directory.</param>
      <param name="attributes">Attributes of the directory.</param>
    </member>
    <member name="M:Rebex.IO.FileSystem.DirectoryNode.GetDirectories">
      <summary>
            Gets an enumerator that iterates through the directories in the current directory.
            </summary>
      <returns>An enumerator that iterates through the directories in the current directory.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.DirectoryNode.GetFiles">
      <summary>
            Gets an enumerator that iterates through the files in the current directory.
            </summary>
      <returns>An enumerator that iterates through the files in the current directory.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.DirectoryNode.CreateFileSystem">
      <summary>
            Creates new (virtual) <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> with <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> root path.
            </summary>
      <example>
        <code>
            var myFromDirectoryProvider = myDirectory.CreateFileSystem(); 
            </code>
      </example>
      <returns>A new instance of <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> with the root path of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.</returns>
    </member>
    <member name="T:Rebex.IO.FileSystem.FileNode">
      <summary>
            Represents a file in the file system.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileNode.#ctor(System.String,Rebex.IO.FileSystem.DirectoryNode,Rebex.IO.FileSystem.NodeTimeInfo,Rebex.IO.FileSystem.NodeAttributes)">
      <summary>
            Initializes a new instance of <see cref="T:Rebex.IO.FileSystem.FileNode" />.
            </summary>
      <param name="nodeName">Name of the file.</param>
      <param name="parent">Parent of the file. </param>
      <param name="nodeTimeInfo">TimeInfo of the file.</param>
      <param name="attributes">Attributes of the file.</param>
    </member>
    <member name="T:Rebex.IO.FileSystem.FileSystemIsReadOnlyException">
      <summary>
            This exception is thrown when an attempt is made to write to a read-only
            Rebex file system.
             </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemIsReadOnlyException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemIsReadOnlyException" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemIsReadOnlyException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemIsReadOnlyException" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemIsReadOnlyException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemIsReadOnlyException" /> class.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.FileSystemOperationCanceledException">
      <summary>
            This exception is thrown when an operation in the Rebex file system is canceled.
            <para>
            Typically this exception is thrown when
            the user of the Rebex file system calls method
            <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" />
            in the event handler of the some Preview* event in the
            <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" />.
            </para></summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemOperationCanceledException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemOperationCanceledException" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemOperationCanceledException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemOperationCanceledException" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemOperationCanceledException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemOperationCanceledException" /> class.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.FileSystemUnboundedRecursiveCallException">
      <summary>
            Represents an exception that is thrown when the execution stack
            of the custom file provider (class derived from the <see cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" />
            or <see cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" />) contains too many recursive calls.
            <para>
            This exception is a strong indication of a faulty behavior
            caused by a bug in the custom file system provider implementation.
            </para></summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemUnboundedRecursiveCallException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemUnboundedRecursiveCallException" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemUnboundedRecursiveCallException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemUnboundedRecursiveCallException" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemUnboundedRecursiveCallException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemUnboundedRecursiveCallException" /> class.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.LocalFileSystemProvider">
      <summary>
            A file system provider which provides access to the local (physical) file system.
            <remarks><see cref="T:Rebex.IO.FileSystem.LocalFileSystemProvider" /> uses 'immediate' write streams in a <see cref="T:Rebex.IO.FileSystem.NodeContent" />.
            <see cref="M:Rebex.IO.FileSystem.NodeContent.CreateImmediateWriteContent(System.IO.Stream)" /> for details and limitations.
            </remarks></summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.LocalFileSystemProvider.#ctor(System.String,Rebex.IO.FileSystem.FileSystemType)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.LocalFileSystemProvider" /> with the root path
            of <paramref name="localFileSystemPath" /> and file system type of <paramref name="fileSystemType" />.
            </summary>
      <param name="localFileSystemPath">Local file system path which represents the root directory of the <see cref="T:Rebex.IO.FileSystem.LocalFileSystemProvider" />.</param>
      <param name="fileSystemType">Specifies the type of the file system (read-only or read-write).</param>
    </member>
    <member name="M:Rebex.IO.FileSystem.LocalFileSystemProvider.#ctor(System.String)">
      <summary>
            Initializes a new instance of the read-write <see cref="T:Rebex.IO.FileSystem.LocalFileSystemProvider" /> with the root path
            of <paramref name="localFileSystemPath" />.
            </summary>.
            <param name="localFileSystemPath">Local file system path which represents the root directory of the <see cref="T:Rebex.IO.FileSystem.LocalFileSystemProvider" />.</param></member>
    <member name="P:Rebex.IO.FileSystem.LocalFileSystemProvider.Root">
      <summary>
            Gets the root directory of this instance.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.LocalFileSystemProvider.CreateChildFileSystem(Rebex.IO.FileSystem.NodePath)">
      <summary>
            Creates a child file system with the root path of <paramref name="directoryPath" />.
            </summary>
      <param name="directoryPath">Root path of the child file system.</param>
      <returns>Child file system with the root path of <paramref name="directoryPath" />.</returns>
    </member>
    <member name="T:Rebex.IO.FileSystem.MemoryFileSystemProvider">
      <summary>
            A file system provider which stores all the data in memory. All the file system provider data are deleted at the latest when the application process exits.
            </summary>
      <remarks>
        <see cref="T:Rebex.IO.FileSystem.MemoryFileSystemProvider" /> uses 'delayed' write streams in a <see cref="T:Rebex.IO.FileSystem.NodeContent" />.
            <see cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" /> for details and limitations.
            </remarks>
    </member>
    <member name="M:Rebex.IO.FileSystem.MemoryFileSystemProvider.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.MemoryFileSystemProvider" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.MemoryFileSystemProvider.Root">
      <summary>
            Gets the root directory of this instance.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.MemoryFileSystemProvider.CreateChildFileSystem(Rebex.IO.FileSystem.NodePath)">
      <summary>
            Creates a child file system with the root path of <paramref name="directoryPath" />.
            </summary>
      <param name="directoryPath">Root path of the child file system.</param>
      <returns>Child file system with the root path of <paramref name="directoryPath" />.</returns>
    </member>
    <member name="T:Rebex.IO.FileSystem.MissingNodeException">
      <summary>
            Represents an exception that is thrown when an attempt to access a node that does not exist in the Rebex file system fails.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.MissingNodeException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.MissingNodeException" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.MissingNodeException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.MissingNodeException" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.MissingNodeException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.MissingNodeException" /> class.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.MountCapableFileSystemProvider">
      <summary>
            A unix-like file system provider which mounts other file systems to the specified <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
            </summary>
      <remarks>
        <see cref="T:Rebex.IO.FileSystem.MountCapableFileSystemProvider" /> guarantees that a <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" /> associated with an instance raises (republishes) all events that are raised by mounted file system providers.
            For example: When the mounted provider raises <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreatePreview" /> event, then the instance of the <see cref="T:Rebex.IO.FileSystem.MountCapableFileSystemProvider" /> also raises <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreatePreview" /> event.
            </remarks>
    </member>
    <member name="P:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Root">
      <summary>
            Gets the root directory of this instance.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.#ctor">
      <summary>
            Initializes a new instance of <see cref="T:Rebex.IO.FileSystem.MountCapableFileSystemProvider" />.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.CreateChildFileSystem(Rebex.IO.FileSystem.NodePath)">
      <summary>
            Creates a child file system with the root path of <paramref name="directoryPath" />.
            </summary>
      <param name="directoryPath">Root path of the child file system.</param>
      <returns>Child file system with the root path of <paramref name="directoryPath" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Mount(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.FileSystemProvider,Rebex.IO.FileSystem.NodePath)">
      <summary>
            Mounts a file system found on <paramref name="targetDirectoryPath" /> in the <paramref name="targetProvider" /> at the <paramref name="mountDirectoryPath" />.
            </summary>
      <example>
        <code>
            //Create new MemoryFileSystemProvider
            var memoryProvider = new MemoryFileSystemProvider();
            
            //Create to be mounted directory.
            var mySpecialDir = new DirectoryNode("SpecialDir", memoryProvider.Root).Create() as DirectoryNode;
            
            //Mount memoryProvider directory with name mySpecialDir at the directory /tmp/mySpecialDir.
            mountCapableFileProvider.Mount(@"/Tmp/mySpecialDir", memoryProvider, @"/SpecialDir");
            </code>
      </example>
      <param name="mountDirectoryPath">A mount point on which a <paramref name="targetDirectoryPath" /> is logically attached.</param>
      <param name="targetProvider">
        <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> to be mounted.</param>
      <param name="targetDirectoryPath">Path of the directory in the <paramref name="targetProvider" /> to be mounted at the <paramref name="mountDirectoryPath" />.</param>
      <returns>A <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> on which a <paramref name="targetDirectoryPath" /> is logically attached.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Mount(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.DirectoryNode)">
      <summary>
            Mounts a file system found on <paramref name="targetDirectory" /> at the <paramref name="mountDirectoryPath" />.
            </summary>
      <example>
        <code>
            //Create new MemoryFileSystemProvider
            var memoryProvider = new MemoryFileSystemProvider();
            
            //Create to be mounted directory.
            var mySpecialDir = new DirectoryNode("SpecialDir", memoryProvider.Root).Create() as DirectoryNode;
            
            //Mount mySpecialDir at the directory /tmp/mySpecialDir.
            mountCapableFileProvider.Mount(@"/tmp/mySpecialDir", mySpecialDir);
            </code>
      </example>
      <param name="mountDirectoryPath">A mount point on which a <paramref name="targetDirectory" /> is logically attached.</param>
      <param name="targetDirectory">Directory to be mounted at the <paramref name="mountDirectoryPath" />.</param>
      <returns>A <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> on which a <paramref name="targetDirectory" /> is logically attached.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Mount(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.FileSystemProvider)">
      <summary>
            Mounts a file system found on root directory in the <paramref name="targetProvider" /> at the <paramref name="mountDirectoryPath" />.
            </summary>
      <example>
        <code>
            //Create new memory provider
            var memoryProvider = new MemoryFileSystemProvider();
            
            //Create LocalFileSystemProvider for path C:\
            var cFs = new LocalFileSystemProvider(C_DRIVE_PATH);
            
            //Create LocalFileSystemProvider for path D:\
            var dFs = new LocalFileSystemProvider(D_DRIVE_PATH);
            
            //Mount file system providers
            mountCapableFileSystem.Mount(@"/C", cFs);
            mountCapableFileSystem.Mount(@"/D", dFs);
            mountCapableFileSystem.Mount(@"/Temp", memoryProvider);
            </code>
      </example>
      <param name="mountDirectoryPath">A mount point on which a <paramref name="targetProvider" /> is logically attached.</param>
      <param name="targetProvider">
        <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> to be mounted.</param>
      <returns>A <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> on which a <paramref name="targetProvider" /> is logically attached.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Unmount(Rebex.IO.FileSystem.DirectoryNode)">
      <summary>
            Unmounts (disassociates) a file system from the <paramref name="mountDirectory" />.
            </summary>
      <example>
        <code>
            //Mount directory.
            var mountedDirectory = mountCapableFileSystem.Mount(@"/Temp", memoryProvider);
            //Use mountedDirectory
            //...
            //...
            //Disassociate file system from previously mounted directory '/Temp'.
            hybridFileSystem.Unmount(mountedDirectory);
            </code>
      </example>
      <param name="mountDirectory">A mount point with a file system previously mounted using the Mount method.</param>
      <seealso cref="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Mount(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.FileSystemProvider,Rebex.IO.FileSystem.NodePath)" />
      <seealso cref="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Mount(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.FileSystemProvider)" />
      <seealso cref="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Mount(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.DirectoryNode)" />
    </member>
    <member name="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Unmount(Rebex.IO.FileSystem.NodePath)">
      <summary>
            Unmounts (disassociates) a file system from <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> found on the <paramref name="mountDirectoryPath" />.
            </summary>
      <example>
        <code>
            //Disassociate file system from directory '/tmp'
            hybridFileSystem.Unmount(@"/tmp");
            </code>
      </example>
      <param name="mountDirectoryPath">A mount point path with a file system previously mounted using the Mount method.</param>
      <seealso cref="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Mount(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.FileSystemProvider,Rebex.IO.FileSystem.NodePath)" />
      <seealso cref="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Mount(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.FileSystemProvider)" />
      <seealso cref="M:Rebex.IO.FileSystem.MountCapableFileSystemProvider.Mount(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.DirectoryNode)" />
    </member>
    <member name="T:Rebex.IO.FileSystem.NodeBase">
      <summary>
            Provides the base class for both <see cref="T:Rebex.IO.FileSystem.FileNode" /> and <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> objects.
            <para>
            It is not expected that you inherit from the class <see cref="T:Rebex.IO.FileSystem.NodeBase" />. Use <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" /> in your code.
            </para></summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.#ctor(System.String,Rebex.IO.FileSystem.NodeType,Rebex.IO.FileSystem.DirectoryNode,Rebex.IO.FileSystem.NodeTimeInfo,Rebex.IO.FileSystem.NodeAttributes,System.Boolean)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" /></summary>
      <param name="nodeName">Name of the node.</param>
      <param name="nodeType">Type of the node.</param>
      <param name="parent">Parent of the node. Only root node does not have parent.</param>
      <param name="nodeTimeInfo">TimeInfo of the node</param>
      <param name="attributes">Attributes of the node</param>
      <param name="isRootDirectory">true if node represents Root directory, otherwise false.</param>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.Name">
      <summary>
            Gets the name of the node.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.Extension">
      <summary>
            Gets the extension of the node. If the node does not have extension, then returs empty string.
            <para>
            Name = myfile.txt.
            Extension returns 'txt' (without quotes).
            </para><para /><para /><para>
            Name = myDirectory.
            Extension returns empty string.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.Path">
      <summary>Full path of the node.</summary>
      <para>
            e.g. /MyDirectory/MyNestedDirectory/myFile.txt
            </para>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.NodeType">
      <summary>
            Gets the type of the node.
            <Returns><para>
            NodeType.File for files.
            </para><para>NodeType.Directory for directories.</para></Returns></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.Parent">
      <summary>
            Gets the parent directory of the node.
            <para>
            For the <b>root directory</b> returns null.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.IsDirectory">
      <summary>
            Returns true if the current node is <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />, otherwise returns false.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.IsRootDirectory">
      <summary>
            Returns true if the current node is root <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> (node with <see cref="P:Rebex.IO.FileSystem.NodeBase.Path" /> equal to '/'), otherwise returns false.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.IsFile">
      <summary>
            Returns true if the current node is <see cref="T:Rebex.IO.FileSystem.FileNode" />, otherwise returns false.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.Length">
      <summary>
            Gets the length of the content returned by the method <see cref="M:Rebex.IO.FileSystem.NodeBase.GetContent(Rebex.IO.FileSystem.NodeContentParameters)" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.Attributes">
      <summary>
            Gets attributes of the node.
            <para>
            Implementation of the property calls <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> methods, therefore
            repeated consecutive calls of the property can be expensive. Consider storing the value of the property in a local variable.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.TimeInfo">
      <summary>
            Gets the time info of the node.
            <para><b>CreationTime.</b></para><para><b>AccessTime.</b></para><para><b>LastWriteTime.</b></para><para>
            Concrete file system providers are responsible for the correctness and validity of the returned dates.
            </para><para>
            Implementation of the property calls <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> methods, therefore
            repeated consecutive calls of the property can be expensive. Consider storing the value of the property in a local variable.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.IsDeleted">
      <summary>
            Returns true if the node is deleted (does not exist in the file system), otherwise false.
            <para>
            Implementation of the property calls <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> methods, therefore
            repeated consecutive calls of the property can be expensive. Consider storing the value of the property in a local variable.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeBase.Context">
      <summary>
            Gets or sets user-defined object.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.GetEnumerator">
      <summary>
            Gets an enumerator that iterates through the child nodes in the current node.
            </summary>
      <returns>An enumerator that iterates through the child nodes in the current node.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.Equals(Rebex.IO.FileSystem.NodeBase)">
      <summary>Indicates whether the current <see cref="T:Rebex.IO.FileSystem.NodeBase" /> is equal to another object of the same type.</summary>
      <returns>true if the current <see cref="T:Rebex.IO.FileSystem.NodeBase" /> is equal to the <paramref name="other" /> parameter; otherwise, false.</returns>
      <param name="other">A <see cref="T:Rebex.IO.FileSystem.NodeBase" /> to compare with this <see cref="T:Rebex.IO.FileSystem.NodeBase" />.</param>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.Equals(System.Object)">
      <inheritdoc />
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.GetHashCode">
      <inheritdoc />
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.op_Equality(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.NodeBase)">
      <summary>
            Determines whether two specified <see cref="T:Rebex.IO.FileSystem.NodeBase" /> have the same value.
            </summary>
      <param name="left">The first node to compare, or null.</param>
      <param name="right">The second string to compare, or null.</param>
      <returns>true if the value of left is the same as the value of right, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.op_Inequality(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.NodeBase)">
      <summary>
            Determines whether two specified <see cref="T:Rebex.IO.FileSystem.NodeBase" /> have different values.
            </summary>
      <param name="left">The first node to compare, or null.</param>
      <param name="right">The second node to compare, or null.</param>
      <returns>true if the value of left is different from the value of right, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.GetChildren">
      <summary>
            Gets an enumerator that iterates through the child nodes in the current node.
            </summary>
      <returns>An enumerator that iterates through the child nodes in the current node.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.GetChildren(Rebex.IO.FileSystem.NodeType)">
      <summary>
            Gets an enumerator that iterates through the child nodes in the current node.
            Only nodes whose <see cref="P:Rebex.IO.FileSystem.NodeBase.NodeType" /> matches the <paramref name="requiredType" /> are returned.
            </summary>
      <param name="requiredType">Required type of the child nodes.</param>
      <returns>An enumerator that iterates through the child nodes in the current node.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.GetContent(Rebex.IO.FileSystem.NodeContentParameters)">
      <summary>
            Gets the content of the node.
            </summary>
      <param name="contentParameters">Required charakteristic of the returned content.</param>
      <returns>Returns the content of the node.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.Create">
      <summary>
            Creates this node, if it does not exist.
            </summary>
      <returns>Up-to-date representation of the node in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.</returns>
      <example>
        <code>
            var myNode = new FileNode("myNewFile.txt", parent);
            myNode = myNode.Create();
            </code>
      </example>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.Delete">
      <summary>
            Deletes this node.
            </summary>
      <returns>Up-to-date representation of the node in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.Rename(System.String)">
      <summary>
            Renames this node.
            </summary>
      <param name="newName">New name of the node.</param>
      <returns>Up-to-date representation of the node in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />. Returned node should have new name.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.MoveTo(Rebex.IO.FileSystem.DirectoryNode)">
      <summary>
            Moves this node to the <paramref name="newParentNode" />.
            </summary>
      <param name="newParentNode">New parent of the node.</param>
      <returns>Up-to-date representation of the moved node in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.CopyTo(Rebex.IO.FileSystem.DirectoryNode)">
      <summary>
            Copies the node to the <paramref name="targetNode" />.
            </summary>
      <param name="targetNode">New parent directory for the copy of the node.</param>
      <returns>Up-to-date representation of the moved node in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />. </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.SetContent(Rebex.IO.FileSystem.NodeContent)">
      <summary>
            Sets a new content of the node. Old content will be deleted!
            </summary>
      <param name="content">New content of the node.</param>
      <returns>Up-to-date representation of the node in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.SetAttributes(Rebex.IO.FileSystem.NodeAttributes)">
      <summary>
            Sets attributes of the node.
            </summary>
      <param name="attributes">New attributes of the node.</param>
      <returns>Up-to-date representation of the node in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.SetTimeInfo(Rebex.IO.FileSystem.NodeTimeInfo)">
      <summary>
             Sets the time info of the node.
            </summary>
      <param name="newTimeInfo" />
      <returns>Up-to-date representation of the node in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.Exists">
      <summary>
            Gets a value indicating whether the node exists.
            </summary>
      <returns>true if the node exists, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.ToString">
      <summary>Returns a string that represents the current <see cref="T:Rebex.IO.FileSystem.NodeBase" />.</summary>
      <returns>A string that represents the current <see cref="T:Rebex.IO.FileSystem.NodeBase" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeBase.GetUnaliasedNode">
      <summary>
            Gets the node with real path (relative to <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />) in the file system.
            Both <see cref="T:Rebex.IO.FileSystem.MountCapableFileSystemProvider" /> and <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returned from the method  <see cref="M:Rebex.IO.FileSystem.DirectoryNode.CreateFileSystem" /> create virtual nodes with virtual (alias) paths. Virtual node "wraps" real node.
            Use method GetUnaliasedNode to "unwrap" real nodes from virtual nodes.
            <para>
            Calling method GetUnaliasedNode on the already unwrapped node has no effect  - method returns this (already unwrapped) instance.
            </para><para>
            Method GetUnaliasedNode is typically used in the <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" /> event handlers.  Usually you don't need to call this method directly, because virtual (alias) and real nodes in the typical development scenario works as expected.
            </para></summary>
      <returns> The unwrapped node with real path in the file system.</returns>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.CopyMoveCompletedEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CopyCompleted" /> and <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.MoveCompleted" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.CopyMoveCompletedEventArgs.OldNode">
      <summary>
            Gets the original ("old") node which was copied/moved.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.CopyMoveCompletedEventArgs.ResultNode">
      <summary>
            Gets or sets node resulting from the file system operation.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.CopyMoveEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CopySurrogate" /> and <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.MoveSurrogate" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.CopyMoveEventArgs.OriginalNode">
      <summary>
            Gets the original (to be copied/moved node).
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.CopyMoveEventArgs.NewPath">
      <summary>
            Gets the expected path of the <see cref="P:Rebex.IO.FileSystem.Notifications.CopyMoveEventArgs.ResultNode" /> after the copy/move operation.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.CopyMoveEventArgs.ResultNode">
      <summary>
            Gets or sets node resulting from the file system operation.
            <para>
            Default value is null.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.CopyMoveEventArgs.NewParent">
      <summary>
            Gets the expected parent of the <see cref="P:Rebex.IO.FileSystem.Notifications.CopyMoveEventArgs.ResultNode" /> after the copy/move operation.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.ExistsNodeEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.ExistsNodeSurrogate" /> and <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.ExistsNodeCompleted" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.ExistsNodeEventArgs.Path">
      <summary>
        <see cref="T:Rebex.IO.FileSystem.NodePath" /> to be verified.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.ExistsNodeEventArgs.ResultExists">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.ExistsNodeSurrogate" /> is false.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.FileSystemNotificationExtensions">
      <summary>
            Takes care of the notification support in the Rebex File System. 
            Provides <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" /> that publish events for the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.Notifications.FileSystemNotificationExtensions.GetFileSystemNotifier(Rebex.IO.FileSystem.FileSystemProvider)">
      <summary>
            Provides access to the instance of the <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" /> 
            for the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.
            </summary>
      <param name="fileSystemProvider">Used <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.</param>
      <returns>Instance of the <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" /> for the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.</returns>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier">
      <summary>
            Raises events for the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> operations.
            <para>
            Typical order of the related hook events that are associated with one file system operation:
            </para><para><ol><li>Preview event (e.g. <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreatePreview" />). Pre-hook event.</li><li>Surrogate event (e.g. <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreateSurrogate" />). Pre-hook event.</li><li>Completed event (e.g. <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreateCompleted" />). Post-hook event.</li></ol></para><para><strong>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of the FileSystemNotifier event.
            </strong></para></summary>
      <remarks>Preview and Completed events are raised only for the top level ("root") operation. 
            In this context top level ("root") operation means an operation initiated by the user of the file system.
            Only Surrogate events are raised for the file system internal/nested operations.</remarks>
    </member>
    <member name="M:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.Dispose">
      <summary>Performs application-defined tasks associated with freeing, releasing, or resetting resources.</summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodesPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns a collection of the resolved instances of the class <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodesSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns a collection of the resolved instances of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodesCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns a collection of the resolved instances of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            </summary>
      <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodePreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns a resolved instance of the class <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodeSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns a resolved instance of the class <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodeCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns a resolved instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreatePreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> persists new <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreateSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> persists new <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreateCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> persists new <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.ExistsNodePreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> checks the existence of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.ExistsNodeSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> checks the existence of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.ExistsNodeCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> checks the existence of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.RenamePreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> renames instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.RenameSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> renames instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.RenameCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> renames instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.MovePreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> moves instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.MoveSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> moves instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.MoveCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> moves instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CopyPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> copies instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CopySurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> copies instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CopyCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> copies instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.DeletePreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> deletes instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.DeleteSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> deletes instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.DeleteCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> deletes instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetContentPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeContent" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            This event is raised only for <see cref="T:Rebex.IO.FileSystem.NodeContent" /> created using the <see cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" /> method.
            </para><para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetContentSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeContent" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            This event is raised only for <see cref="T:Rebex.IO.FileSystem.NodeContent" /> created using the <see cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" /> method.
            </para><para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetContentCompleted">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeContent" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para><para>
            This event is raised only for <see cref="T:Rebex.IO.FileSystem.NodeContent" /> created using the <see cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" /> method.
            </para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeContent" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            This event is raised only for <see cref="T:Rebex.IO.FileSystem.NodeContent" /> created using the <see cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" /> method.
            </para><para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeContent" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            This event is raised only for <see cref="T:Rebex.IO.FileSystem.NodeContent" /> created using the <see cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" /> method.
            </para><para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentCompleted">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeContent" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            <para>
            This event is raised only for <see cref="T:Rebex.IO.FileSystem.NodeContent" /> created using the <see cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" /> method.
            </para></para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetAttributesPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetAttributesSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetAttributesCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetTimeInfoPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetTimeInfoSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetTimeInfoCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> updates <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetLengthPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns length of the content of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetLengthSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns length of the content of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetLengthCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns length of the content of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetAttributesPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetAttributesSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetAttributesCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetTimeInfoPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetTimeInfoSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetTimeInfoCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetChildrenPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns children of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetChildrenSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns children of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetChildrenCompleted">
      <summary>
            Occurs after the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns children of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetContentPreview">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns <see cref="T:Rebex.IO.FileSystem.NodeContent" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            If you cancel the operation using the <see cref="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation" /> method, 
            then <see cref="T:System.OperationCanceledException" /> will be thrown.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetContentSurrogate">
      <summary>
            Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns <see cref="T:Rebex.IO.FileSystem.NodeContent" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            You can register event handler, 
            which overrides default implementation of the operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> and provides own result for the operation.
            <para>
            When the virtual file system is used in the FileServer component, then the server session,
            which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
            in the handler of this event.
            </para></summary>
    </member>
    <member name="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetContentCompleted">
      <summary>
             Occurs before the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> returns <see cref="T:Rebex.IO.FileSystem.NodeContent" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
             <para>
             When the virtual file system is used in the FileServer component, then the server session,
             which contains information about the user and the active connection, can be accessed using the <see cref="P:Rebex.Net.Servers.ServerSession.Current" /> property
             in the handler of this event.
             </para></summary>
      <remarks>
             When the event handler provides a new value in the <see cref="P:Rebex.IO.FileSystem.Notifications.GetContentEventArgs.ResultContent" /> property,
             then the same handler is responsible for cleaning-up old resources and should call <see cref="M:Rebex.IO.FileSystem.NodeContent.Dispose" /> method on the instance of the <see cref="T:Rebex.IO.FileSystem.NodeContent" />
             returned from the <see cref="P:Rebex.IO.FileSystem.Notifications.GetContentEventArgs.ResultContent" /> property.
             Typical handler that replaces <see cref="T:Rebex.IO.FileSystem.NodeContent" /> has the following structure:
             <code>
             myFileSystemProvider.FileSystemNotifier.GetContentCompleted += (sender, args) =&gt;
             {
               //Dispose  original content
               args.ResultContent.Dispose();
            
               // Prepare new content
             
               //Replace content
               args.ResultContent = NodeContent.CreateImmediateWriteContent(new MemoryStream());
              };
             </code></remarks>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.FileSystemOperationEventArgs">
      <summary>
            Serves as a base class for events provided by <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" />.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.Notifications.FileSystemOperationEventArgs.MarkAsHandled">
      <summary>
            Marks the current file system operation as handled by the event handler.
            <b>If you directly or indirectly call this method in the event handler for any '*Surrogate' event, 
            then you are fully responsible for the implementation of the current file system operation. In this case the default logic for the file system operation in the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> will be ignored!</b></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.GetAttributesEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetAttributesSurrogate" /> and <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetAttributesCompleted" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetAttributesEventArgs.Node">
      <summary>
            Affected node
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetAttributesEventArgs.ResultAttributes">
      <summary>
            Gets or sets the result of the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetAttributesSurrogate" /> event is <i>"new NodeAttributes(FileAttributes.Normal)"</i>.;
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.GetChildrenEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetChildrenSurrogate" /> and
            <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetChildrenCompleted" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetChildrenEventArgs.RequiredChildrenType">
      <summary>
            Required type(s) of the returned children.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetChildrenEventArgs.Node">
      <summary>
            Affected node. Parent of the requested children.
            <para>
            Typically you need to handle only directories.
            <code>
             if (e.Node.NodeType == NodeType.Directory)
             {
                //return children for the directory.
             }
            </code></para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetChildrenEventArgs.ResultChildren">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetChildrenSurrogate" /> is null.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.GetContentEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetContentSurrogate" /> and
             <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetContentCompleted" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetContentEventArgs.ContentParameters">
      <summary>
            Required properties of the returned <see cref="T:Rebex.IO.FileSystem.NodeContent" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetContentEventArgs.Node">
      <summary>
            Affected node.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetContentEventArgs.ResultContent">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetContentSurrogate" /> event is null.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.GetLengthEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetLengthSurrogate" /> and
            <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetLengthCompleted" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetLengthEventArgs.Node">
      <summary>
            Affected node.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetLengthEventArgs.ResultLength">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetLengthSurrogate" /> event is <see cref="F:System.Int64.MinValue" />.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.GetNodeEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodeSurrogate" /> 
            and <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodeCompleted" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetNodeEventArgs.Path">
      <summary>
            Path of the node to be returned.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetNodeEventArgs.ResultNode">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodeSurrogate" /> event is null.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.GetNodesEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodesSurrogate" /> 
            and <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodesCompleted" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetNodesEventArgs.Paths">
      <summary>
            Paths of the nodes to be returned.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetNodesEventArgs.ResultNodes">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodesSurrogate" /> event is null.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.GetTimeInfoEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetTimeInfoSurrogate" /> and
            <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetTimeInfoCompleted" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetTimeInfoEventArgs.Node">
      <summary>
            Affected node.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.GetTimeInfoEventArgs.ResultTimeInfo">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetTimeInfoSurrogate" /> event is null.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewCopyMoveEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CopyPreview" /> and <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.MovePreview" /> events.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewCopyMoveEventArgs.Node">
      <summary>
            Node to be copied/moved.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewCopyMoveEventArgs.NewParent">
      <summary>
            Expected parent of the new instance of the <see cref="T:Rebex.IO.FileSystem.NodeBase" /> when the copy/move operation will finish.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs">
      <summary>
            Serves as a base class for cancelable events provided by <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" />.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.#ctor">
      <summary>
            Initializes a new instance of the PreviewFileSystemOperationEventAgs class
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.IsCanceled">
      <summary>
            Indicates whether the operation in the file system should be canceled.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.Notifications.PreviewFileSystemOperationEventAgs.CancelOperation">
      <summary>
            Request cancellation of the operation in the file system.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewGetContentEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetContentPreview" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewGetContentEventArgs.ContentParameters">
      <summary>
            Required properties of the <see cref="T:Rebex.IO.FileSystem.NodeContent" />.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewGetNodeEventAgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodePreview" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewGetNodeEventAgs.Path">
      <summary>
            Path of the node to be returned.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewGetNodesEventAgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetNodesPreview" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewGetNodesEventAgs.NodePaths">
      <summary>
            Paths of the nodes to be returned.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewRenameEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.RenamePreview" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewRenameEventArgs.NewName">
      <summary>
            Proposed new name for the <see cref="P:Rebex.IO.FileSystem.Notifications.PreviewRenameEventArgs.Node" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewRenameEventArgs.Node">
      <summary>
            To be renamed <see cref="T:Rebex.IO.FileSystem.NodeBase" />.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewSaveContentEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentPreview" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewSaveContentEventArgs.NewContent">
      <summary>
            New <see cref="T:Rebex.IO.FileSystem.NodeContent" /> for the <see cref="P:Rebex.IO.FileSystem.Notifications.PreviewSingleNodeOperationEventArgs.Node" />.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewSetAttributesEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetAttributesPreview" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewSetAttributesEventArgs.NewAttributes">
      <summary>
            Updated attributes of the <see cref="P:Rebex.IO.FileSystem.Notifications.PreviewSingleNodeOperationEventArgs.Node" />.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewSetContentEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetContentPreview" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewSetContentEventArgs.NewContent">
      <summary>
            New <see cref="T:Rebex.IO.FileSystem.NodeContent" /> for the <see cref="P:Rebex.IO.FileSystem.Notifications.PreviewSingleNodeOperationEventArgs.Node" />.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewSetTimeInfoEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetTimeInfoPreview" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewSetTimeInfoEventArgs.NewTimeInfo">
      <summary>
            Updated <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> for the <see cref="P:Rebex.IO.FileSystem.Notifications.PreviewSingleNodeOperationEventArgs.Node" />.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.PreviewSingleNodeOperationEventArgs">
      <summary>
            Provides data for <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" /> events:
            <para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreatePreview" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.ExistsNodePreview" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.DeletePreview" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetLengthPreview" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetAttributesPreview" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetTimeInfoPreview" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.GetChildrenPreview" /></para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.PreviewSingleNodeOperationEventArgs.Node">
      <summary>
            Affected node.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.RenameCompletedEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.RenameCompleted" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.RenameCompletedEventArgs.OriginalNode">
      <summary>
            Gets the original ("old") node which was renamed.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.RenameEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.RenameSurrogate" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.RenameEventArgs.OriginalNode">
      <summary>
            Gets the original (to be renamed node).
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.RenameEventArgs.ResultNode">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.RenameSurrogate" /> event is null.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.RenameEventArgs.NewName">
      <summary>
            Proposed new name for the <see cref="P:Rebex.IO.FileSystem.Notifications.RenameEventArgs.OriginalNode" /></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.SaveContentEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentSurrogate" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SaveContentEventArgs.OriginalNode">
      <summary>
            Gets the original (to be updated) node.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SaveContentEventArgs.Content">
      <summary>
            Updated <see cref="T:Rebex.IO.FileSystem.NodeContent" /> for the <see cref="P:Rebex.IO.FileSystem.Notifications.SaveContentEventArgs.OriginalNode" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SaveContentEventArgs.ResultNode">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentSurrogate" /> event is null.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.SetAttributesEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetAttributesSurrogate" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SetAttributesEventArgs.OriginalNode">
      <summary>
            Gets the original (to be updated) node.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SetAttributesEventArgs.Attributes">
      <summary>
            Updated attributes for the <see cref="P:Rebex.IO.FileSystem.Notifications.SetAttributesEventArgs.OriginalNode" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SetAttributesEventArgs.ResultNode">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetAttributesSurrogate" /> event is null.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.SetContentEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetContentSurrogate" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SetContentEventArgs.OriginalNode">
      <summary>
            Gets the original (to be updated) node.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SetContentEventArgs.Content">
      <summary>
            Updated <see cref="T:Rebex.IO.FileSystem.NodeContent" /> for the <see cref="P:Rebex.IO.FileSystem.Notifications.SetContentEventArgs.OriginalNode" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SetContentEventArgs.ResultNode">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetContentSurrogate" /> event is null.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.SetTimeInfoEventArgs">
      <summary>
            Provides data for <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetTimeInfoSurrogate" /> event.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SetTimeInfoEventArgs.OriginalNode">
      <summary>
            Gets the original (to be updated) node.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SetTimeInfoEventArgs.TimeInfo">
      <summary>
            Updated <see cref="P:Rebex.IO.FileSystem.Notifications.SetTimeInfoEventArgs.TimeInfo" /> for the <see cref="P:Rebex.IO.FileSystem.Notifications.SetTimeInfoEventArgs.OriginalNode" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SetTimeInfoEventArgs.ResultNode">
      <summary>
            Gets or sets return value for the current file system operation.
            <para>
            Default value in the <see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetTimeInfoSurrogate" /> event is null.
            </para></summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.Notifications.SingleNodeOperationEventArgs">
      <summary>
            Provides data for <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" /> events:
            <para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreateSurrogate" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.CreateCompleted" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.DeleteSurrogate" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.DeleteCompleted" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetContentCompleted" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentCompleted" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetAttributesCompleted" /></para><para><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SetTimeInfoCompleted" /></para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.Notifications.SingleNodeOperationEventArgs.ResultNode">
      <summary>
            Gets or sets the result of the current file system operation.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider">
      <summary>
            Serves as the base class for read-only file system providers.
            <seealso cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" /></summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.DefaultDirectoryContentLength">
      <summary>
            Constant represents default length of the content of a <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
            <para>
            The value of the constant is 0.
            </para></summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.#ctor">
      <summary>
            Initializes a new instance of <see cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" /> with the <see cref="P:Rebex.IO.FileSystem.FileSystemProviderSettings.Default" /> settings.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.#ctor(Rebex.IO.FileSystem.FileSystemProviderSettings)">
      <summary>
            Initializes a new instance of <see cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" /> with the <paramref name="fileSystemSettings" />.
            </summary>
      <param name="fileSystemSettings">File system settings</param>
    </member>
    <member name="P:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.Settings">
      <summary>
            Gets the file system settings which were used to create this instance.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.Root">
      <summary>
            Gets the root directory of this instance.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.OriginalSettings">
      <summary>
            Gets the original file system settings.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.CreateChildFileSystem(Rebex.IO.FileSystem.NodePath)">
      <summary>
            Creates a child file system with the root path of <paramref name="directoryPath" />.
            </summary>
      <param name="directoryPath">Root path of the child file system.</param>
      <returns>Child file system with the root path of <paramref name="directoryPath" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.GetTimeInfo(Rebex.IO.FileSystem.NodeBase)">
      <summary>
             Override this method to implement retrieval of <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> for the <paramref name="node" />.
             <para>
             Fill the following NodeTimeInfo properties:
             </para><para><b>CreationTime.</b></para><para><b>AccessTime.</b></para><para><b>LastWriteTime.</b></para></summary>
      <example>
        <code>
            protected override NodeTimeInfo GetTimeInfo(NodeBase node)
            {
              var fullPath = getFullPath(node.Path);
              var creationTime = File.GetCreationTime(fullPath);
              var lastAccessTime = File.GetLastAccessTime(fullPath);
              var lastWriteTime = File.GetLastWriteTime(fullPath);
              return new NodeTimeInfo(creationTime,
                  lastAccessTime,
                  lastWriteTime);
            }
             </code>
      </example>
      <param name="node">A <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or a <see cref="T:Rebex.IO.FileSystem.FileNode" /> instance that represents the processed node.</param>
      <returns>
        <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> with the properties <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.CreationTime" />, <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.LastAccessTime" />
             and <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.LastWriteTime" /> filled with the values for the <paramref name="node" />.
             <para>
             All dates are in the UTC format.
             </para></returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.GetChild(System.String,Rebex.IO.FileSystem.DirectoryNode)">
      <summary>
             Override this method to implement retrieval of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" /> 
             with the specified <paramref name="name" /> located in the specified <paramref name="parent" /> directory.
             </summary>
      <example>
        <code>
            protected override NodeBase GetChild(string name, DirectoryNode parent)
            {
              var fullChildPath = getFullPath(parent.Path.AddPathPart(name));
            
              if (File.Exists(fullChildPath))
              {
                return new FileNode(name, parent);
              }
            
              if (Directory.Exists(fullChildPath))
              {
                return new DirectoryNode(name, parent);
              }
            }
            
            return null;
             </code>
      </example>
      <param name="name">Name of the child node to be returned.</param>
      <param name="parent">Parent <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> of the requested child node.</param>
      <returns>
             A <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or a <see cref="T:Rebex.IO.FileSystem.FileNode" /> if the child node exists; or null if it does not exist.
             </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.GetChildren(Rebex.IO.FileSystem.DirectoryNode,Rebex.IO.FileSystem.NodeType)">
      <summary>
             Override this method to implement getting a collection of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> and/or <see cref="T:Rebex.IO.FileSystem.FileNode" /> objects 
             that are located in the <paramref name="parent" /> and 
             value of their property <see cref="P:Rebex.IO.FileSystem.NodeBase.NodeType" /> is contained in the <paramref name="nodeType" />.
             </summary>
      <example>
        <code>
            protected override IEnumerable &lt;NodeBase&gt; GetChildren(DirectoryNode parent, NodeType nodeType)
            {
              var parentPath = getFullPath(parent.Path);
              var retChildren = Enumerable.Empty&lt;NodeBase&gt;();
            
              if ((nodeType &amp; NodeType.Directory) == NodeType.Directory)
              {
                retChildren = retChildren.Union(Directory.EnumerateDirectories(parentPath)
                  .Select(dirPath =&gt; new DirectoryNode(getNodeName(dirPath), parent)));
              }
            
              if ((nodeType &amp; NodeType.File) == NodeType.File)
              {
                retChildren = retChildren.Union(Directory.GetFiles(parentPath)
                  .Select(filePath =&gt; new FileNode(getNodeName(filePath), parent)));
              }
            
              return retChildren;
            }
             </code>
      </example>
      <param name="parent">Parent <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> of the requested children.</param>
      <param name="nodeType">Required type(s) of the returned children.</param>
      <returns>A collection of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> and/or <see cref="T:Rebex.IO.FileSystem.FileNode" /> objects 
             that are contained in the <paramref name="parent" /> and 
             value of their property <see cref="P:Rebex.IO.FileSystem.NodeBase.NodeType" /> is contained in the flag <paramref name="nodeType" />,
             or empty <see cref="T:System.Collections.Generic.IEnumerable`1" /> if the <paramref name="parent" /> does not have children.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.Exists(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.NodeType)">
      <summary>
             Override this method to implement verification of existence of a <see cref="T:Rebex.IO.FileSystem.FileNode" /> or <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
             </summary>
      <example>
        <code>
            protected override bool Exists(NodePath path, NodeType nodeType)
            {
              var fullPath = getFullPath(path);
              if (nodeType == NodeType.File)
              {
                return File.Exists(fullPath);
              }
            
              if (nodeType == NodeType.Directory)
              {
                return Directory.Exists(fullPath);
              }
            
              return false;
            }
             </code>
      </example>
      <param name="path">
        <see cref="T:Rebex.IO.FileSystem.NodePath" /> to be verified.</param>
      <param name="nodeType">Required <see cref="P:Rebex.IO.FileSystem.NodeBase.NodeType" /> of the <see cref="T:Rebex.IO.FileSystem.NodeBase" />.</param>
      <returns>True if the <see cref="T:Rebex.IO.FileSystem.NodeBase" /> can be found in the <paramref name="path" /> 
             and its <see cref="P:Rebex.IO.FileSystem.NodeBase.NodeType" /> matches <paramref name="nodeType" />, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.GetLength(Rebex.IO.FileSystem.NodeBase)">
      <summary>
             Override this method to implement retrieval of the length of the content for the <paramref name="node" />.
             <para>
             By default, this method is only called for files (instances of the class <see cref="T:Rebex.IO.FileSystem.FileNode" />). 
             To enable this method for directories (instances of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />), 
             add a new instance of <see cref="T:Rebex.IO.FileSystem.FileSystemProviderSettings" /> (with the property <see cref="P:Rebex.IO.FileSystem.FileSystemProviderSettings.EnableGetLengthMethodForDirectories" /> set to true)
             to the <see cref="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.#ctor(Rebex.IO.FileSystem.FileSystemProviderSettings)" /> constructor.
             </para></summary>
      <example>
        <code>
            protected override long GetLength(NodeBase node)
            {
              var fullPath = getFullPath(node.Path);
              return new FileInfo(fullPath).Length;
            }
             </code>
      </example>
      <param name="node">Processed node.</param>
      <returns>Length of the content for the <paramref name="node" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.GetContent(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.NodeContentParameters)">
      <summary>
             Override this method to implement retrieval of the content for the <paramref name="node" />.
             <para>
             By default, this method is only called for files (instances of the class <see cref="T:Rebex.IO.FileSystem.FileNode" />). 
             To enable this method for directories (instances of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />), 
             add a new instance of <see cref="T:Rebex.IO.FileSystem.FileSystemProviderSettings" /> (with the property <see cref="P:Rebex.IO.FileSystem.FileSystemProviderSettings.EnableGetContentMethodForDirectories" /> set to true)
             to the <see cref="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.#ctor(Rebex.IO.FileSystem.FileSystemProviderSettings)" /> constructor.
             </para></summary>
      <example>
        <code>
            protected override NodeContent GetContent(NodeBase node, NodeContentParams contentRequest)
            {
              var fullPath = getFullPath(node.Path);
              if (contentRequest.AccesType == NodeContentAccess.Read)
              {
                var readOnlyStream = File.OpenRead(fullPath);
                return NodeContent.CreateReadOnlyContent(readOnlyStream);
              }
            
              var realFsAccessMode = contentRequest.AccesType == NodeContentAccess.Write
                ? FileAccess.Write
                : FileAccess.ReadWrite;
            
              var readWriteStream = File.Open(fullPath, FileMode.Open, realFsAccessMode);
              return NodeContent.CreateImmediateWriteContent(readWriteStream);
            }
             </code>
      </example>
      <param name="node">Processed node.</param>
      <param name="contentParameters">Required properties of the returned <see cref="T:Rebex.IO.FileSystem.NodeContent" />.</param>
      <returns>Content for the <paramref name="node" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.GetAttributes(Rebex.IO.FileSystem.NodeBase)">
      <summary>
            Returns attributes (<see cref="T:Rebex.IO.FileSystem.NodeAttributes" />) for the <paramref name="node" />.
            </summary>
      <param name="node">Processed node.</param>
      <returns>Atributes (<see cref="T:Rebex.IO.FileSystem.NodeAttributes" />) for the <paramref name="node" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.MakeNewDirectoryNode(System.String,Rebex.IO.FileSystem.DirectoryNode)">
      <summary>
            Factory method that creates a new instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> with 
            <see cref="P:Rebex.IO.FileSystem.NodeBase.Name" /> initialized to <paramref name="name" /> and <see cref="P:Rebex.IO.FileSystem.NodeBase.Parent" /> 
            initialized to <paramref name="parentNode" />. 
            Classes derived from the <see cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" /> class or from the class <see cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" /> 
            can override this method and returns instance of the more specific class derived from <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
            </summary>
      <param name="name">Name of the new <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.</param>
      <param name="parentNode">Parent of the new <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.</param>
      <returns>A new instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.Content(System.IO.Stream)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.IO.FileSystem.NodeContent" /> with the underlying <paramref name="contentStream" />.
            <para>
            Instances of <see cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" /> create new <see cref="T:Rebex.IO.FileSystem.NodeContent" /> 
            using the <see cref="M:Rebex.IO.FileSystem.NodeContent.CreateReadOnlyContent(System.IO.Stream)" /> method.
            </para><para>
            Instances of <see cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" /> create new <see cref="T:Rebex.IO.FileSystem.NodeContent" /> 
            using the <see cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" /> method.
            </para></summary>
      <param name="contentStream">
        <see cref="T:System.IO.Stream" /> to be returned within the new <see cref="T:Rebex.IO.FileSystem.NodeContent" /> instance.</param>
      <returns>A new instance of <see cref="T:Rebex.IO.FileSystem.NodeContent" /> with the underlying <paramref name="contentStream" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.MakeNewFileNode(System.String,Rebex.IO.FileSystem.DirectoryNode)">
      <summary>
            Factory method that creates a new instance of <see cref="T:Rebex.IO.FileSystem.FileNode" /> that will have 
            <see cref="P:Rebex.IO.FileSystem.NodeBase.Name" /> initialized to <paramref name="name" /> and <see cref="P:Rebex.IO.FileSystem.NodeBase.Parent" /> 
            initialized to <paramref name="parentNode" />.
            Classes derived from the class <see cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" /> or from the class <see cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" /> 
            can override this method and returns instance of the more specific class derived from <see cref="T:Rebex.IO.FileSystem.FileNode" />.
            </summary>
      <param name="name">Name of the new <see cref="T:Rebex.IO.FileSystem.FileNode" />.</param>
      <param name="parentNode">Parent of the new <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.</param>
      <returns>A new instance of <see cref="T:Rebex.IO.FileSystem.FileNode" />.</returns>
    </member>
    <member name="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider">
      <summary>
            Serves as the base class for read-write file system providers.
            <seealso cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" /></summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.#ctor(Rebex.IO.FileSystem.FileSystemProviderSettings)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" /> with the <paramref name="fileSystemSettings" />.
            </summary>
      <param name="fileSystemSettings">File system settings.</param>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" /> with the <see cref="P:Rebex.IO.FileSystem.FileSystemProviderSettings.Default" /> settings.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.CreateDirectory(Rebex.IO.FileSystem.DirectoryNode,Rebex.IO.FileSystem.DirectoryNode)">
      <summary>
             Override this method to implement <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> creation.
             </summary>
      <example>
        <code>
            protected override DirectoryNode CreateDirectory(DirectoryNode parent, DirectoryNode child)
            {
              var newDirectoryFullPath = getFullPath(child.Path);
              Directory.CreateDirectory(newDirectoryFullPath);
              return child;
            }
             </code>
      </example>
      <param name="parent">Parent <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> that contains <paramref name="child" />.</param>
      <param name="child">To be created <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.</param>
      <returns>An up-to-date instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> which represents the created <paramref name="child" />. 
             If the method did not change anything important for the current representation of the node, you can return the <paramref name="child" /> argument;
             otherwise you can create a new instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
             </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.CreateFile(Rebex.IO.FileSystem.DirectoryNode,Rebex.IO.FileSystem.FileNode)">
      <summary>
             Override this method to implement <see cref="T:Rebex.IO.FileSystem.FileNode" /> creation.
             </summary>
      <example>
        <code>
            protected override FileNode CreateFile(DirectoryNode parent, FileNode child)
            {
              var newFileFullPath = getFullPath(child.Path);
              File.Create(newFileFullPath).Close();
            
              return child;
            }
             </code>
      </example>
      <param name="parent">Parent <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> that contains <paramref name="child" />.</param>
      <param name="child">To be created <see cref="T:Rebex.IO.FileSystem.FileNode" />.</param>
      <returns>An up-to-date instance of <see cref="T:Rebex.IO.FileSystem.FileNode" /> which represents the created <paramref name="child" />. 
             If the method did not change anything important for the current representation of the node, you can return the <paramref name="child" /> argument;
             otherwise you can create a new instance of <see cref="T:Rebex.IO.FileSystem.FileNode" />.
             </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.Delete(Rebex.IO.FileSystem.NodeBase)">
      <summary>
             Override this method to implement <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> and <see cref="T:Rebex.IO.FileSystem.FileNode" /> deletion.
             </summary>
      <example>
        <code>
            protected override NodeBase Delete(NodeBase node)
            {
              var toDeletePath = getFullPath(node.Path);
              if (node.IsDirectory)
              {
                Directory.Delete(toDeletePath);
              }
              else
              {
                File.Delete(toDeletePath);
              }
              return node;
            }
             </code>
      </example>
      <param name="node">A <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" /> to be deleted.</param>
      <returns>Up-to-date instance of <see cref="T:Rebex.IO.FileSystem.FileNode" /> or <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> which represents the deleted <paramref name="node" />.
             If the method did not change anything important for the current representation of the node, you can return the <paramref name="node" /> argument;
             otherwise you can create a new instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" />.
             </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.Rename(Rebex.IO.FileSystem.NodeBase,System.String)">
      <summary>
             Override this method to implement renaming a <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />/<see cref="T:Rebex.IO.FileSystem.FileNode" />.
             </summary>
      <example>
        <code>
            protected override NodeBase Rename(NodeBase node, string newName)
            {
              var oldPath = getFullPath(node.Path);
              var newPath = getFullPath(node.Path.ParentPath.AddPathPart(newName));
              if (node.IsDirectory)
              {
                Directory.Move(oldPath, newPath);
                return new DirectoryNode(newName, node.Parent);
              }
            
              File.Move(oldPath, newPath);
              return new FileNode(newName, node.Parent);
            
            }
             </code>
      </example>
      <param name="node">A <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" /> to be renamed.</param>
      <param name="newName">New <paramref name="node" /> name.</param>
      <returns>Up-to-date instance of <see cref="T:Rebex.IO.FileSystem.FileNode" /> or <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> which represents the renamed <paramref name="node" />.
             <para><b>Returned instance should have the <see cref="P:Rebex.IO.FileSystem.NodeBase.Name" /> property set to <paramref name="newName" />.</b></para></returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.SaveContent(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.NodeContent)">
      <summary>
            Override this method to implement a save content functionality for <see cref="T:Rebex.IO.FileSystem.FileNode" /> and <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
            <para>
            By default, this method is only called for files (instances of the class <see cref="T:Rebex.IO.FileSystem.FileNode" />). 
            To enable this method for directories (instances of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />), 
            add a new instance of <see cref="T:Rebex.IO.FileSystem.FileSystemProviderSettings" /> (with the property <see cref="P:Rebex.IO.FileSystem.FileSystemProviderSettings.EnableGetContentMethodForDirectories" /> set to true)
            to the <see cref="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.#ctor(Rebex.IO.FileSystem.FileSystemProviderSettings)" /> constructor.
            </para><para>
            If the instance of the <see cref="T:Rebex.IO.FileSystem.NodeContent" /> returned from the method <see cref="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.GetContent(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.NodeContentParameters)" /> has been created using the method <see cref="T:Rebex.IO.FileSystem.NodeContent" />, then method <see cref="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.SaveContent(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.NodeContent)" /><b>IS NOT CALLED</b>.
            </para></summary>
      <param name="node">To be updated node.</param>
      <param name="content">New content for the <paramref name="node" />.</param>
      <returns>Up-to-date instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" /> which represents the updated <paramref name="node" />. 
            If the method did not change anything important for the current representation of the node, you can return the <paramref name="node" /> argument;
            otherwise you can create a new instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" />.
            </returns>.
        </member>
    <member name="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.SetTimeInfo(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.NodeTimeInfo)">
      <summary>
             Override this method to implement time info updating functionality for <see cref="T:Rebex.IO.FileSystem.FileNode" /> and <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
             </summary>
      <example>
        <code>
            protected override NodeBase SetTimeInfo(NodeBase node, NodeTimeInfo newTimeInfo)
            {
              var fullNodePath = getFullPath(node.Path);
              var retNode = node;
              
              if (node.IsFile)
              {
                  File.SetCreationTimeUtc(fullNodePath, newTimeInfo.CreationTime);
                  File.SetLastAccessTimeUtc(fullNodePath, newTimeInfo.LastAccessTime);
                  File.SetLastWriteTimeUtc(fullNodePath, newTimeInfo.LastWriteTime);
                  retNode = new FileNode(node.Name, node.Parent, newTimeInfo, node.Attributes);
              }
             
              if (node.IsDirectory)
              {
                Directory.SetCreationTimeUtc(fullNodePath, newTimeInfo.CreationTime);
                Directory.SetLastAccessTimeUtc(fullNodePath, newTimeInfo.LastAccessTime);
                Directory.SetLastWriteTimeUtc(fullNodePath, newTimeInfo.LastWriteTime);
                retNode = new DirectoryNode(node.Name, node.Parent, newTimeInfo, node.Attributes);
              }
            
              return retNode;
            }
            
             </code>
      </example>
      <param name="node">To be updated a <see cref="T:Rebex.IO.FileSystem.FileNode" /> or <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.</param>
      <param name="newTimeInfo">Updated <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> for the <paramref name="node" />.</param>
      <returns>Up-to-date instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" /> which represents the updated <paramref name="node" />. 
             If the method did not change anything important for the current representation of the node, you can return the <paramref name="node" /> argument;
             otherwise you can create a new instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" />.
             </returns>.
        </member>
    <member name="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.SetAttributes(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.NodeAttributes)">
      <summary>
              Override this method to implement a attribute updating functionality for <see cref="T:Rebex.IO.FileSystem.FileNode" /> and <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.
              <para><b>Default implementation do nothing and returns <paramref name="node" />.</b></para></summary>
      <example>
        <code>
            protected override NodeBase SetAttributes(NodeBase node, NodeAttributes attributes)
            {
              var fullNodePath = getFullPath(node.Path);
              if (node.IsFile)
              {
                File.SetAttributes(fullNodePath, attributes.FileAttributes);
                return new FileNode(node.Name, node.Parent, node.TimeInfo, attributes);
              }
              return node;
            }
              </code>
      </example>
      <param name="node">To be updated a <see cref="T:Rebex.IO.FileSystem.FileNode" /> or <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />.</param>
      <param name="attributes">Updated <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> for the <paramref name="node" />.</param>
      <returns>Up-to-date instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" /> which represents the updated <paramref name="node" />. 
              If the method did not change anything important for the current representation of the node, you can return the <paramref name="node" /> argument;
              otherwise you can create a new instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" />.
              </returns>.
        </member>
    <member name="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.Move(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.DirectoryNode)">
      <summary>
             Override this method to implement moving a <see cref="T:Rebex.IO.FileSystem.DirectoryNode" />/<see cref="T:Rebex.IO.FileSystem.FileNode" />.
            </summary>
      <param name="toBeMovedNode">To be moved node.</param>
      <param name="targetDirectory">Target directory.</param>
      <returns>An up-to-date instance of <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> or <see cref="T:Rebex.IO.FileSystem.FileNode" /> which represents the moved <paramref name="toBeMovedNode" />. </returns>
    </member>
  </members>
</doc>