/// <summary>
 /// Initializes a new instance of this class.
 /// </summary>
 /// <param name="dataCloudItem">Corresponding DLItem.</param>
 /// <param name="context">WebDAV Context.</param>
 /// <param name="path">Encoded path relative to WebDAV root folder.</param>
 private DavFolder(DataCloudItem dataCloudItem, DavContext context, string path)
     : base(dataCloudItem, context, path.TrimEnd('/') + "/")
 {
 }
 /// <summary>
 /// Initializes a new instance of this class.
 /// </summary>
 /// <param name="dataCloudItem">Corresponding DLItem.</param>
 /// <param name="context">WebDAV Context.</param>
 /// <param name="path">Encoded path relative to WebDAV root folder.</param>
 protected DavHierarchyItem(DataCloudItem dataCloudItem, DavContext context, string path)
 {
     this.dataCloudItem = dataCloudItem;
     this.context       = context;
     this.Path          = path;
 }
        /// <summary>
        /// Returns folder that corresponds to path.
        /// </summary>
        /// <param name="context">WebDAV Context.</param>
        /// <param name="path">Encoded path relative to WebDAV root folder.</param>
        /// <returns>Folder instance or null if physical folder not found in file system.</returns>
        public static async Task <DavFolder> GetFolderAsync(DavContext context, string path)
        {
            DataCloudItem dlItem = await context.DataLakeStoreService.GetItemAsync(path);

            return(new DavFolder(dlItem, context, path));
        }
 /// <summary>
 /// Initializes a new instance of this class.
 /// </summary>
 /// <param name="dataCloudItem">Corresponding data lake item.</param>
 /// <param name="context">WebDAV Context.</param>
 /// <param name="path">Encoded path relative to WebDAV root folder.</param>
 internal DavFile(DataCloudItem dataCloudItem, DavContext context, string path)
     : base(dataCloudItem, context, path)
 {
     this.dataCloudItem = dataCloudItem;
 }