Cloud drive node information. See REST API
        /// <summary>
        /// Requests for Root folder node info. Cached without expiration.
        /// </summary>
        /// <returns>Root folder node info</returns>
        public async Task<AmazonNode> GetRoot()
        {
            if (root != null) return root;

            var url = "{0}nodes?filters=isRoot:true";
            var result = await http.GetJsonAsync<Children>(string.Format(url, await amazon.GetMetadataUrl().ConfigureAwait(false))).ConfigureAwait(false);
            if (result.count == 0) return null;
            root = result.data[0];
            if (root == null) throw new InvalidOperationException("Could not retrieve root");
            return root;
        }
        private static StorageProviderItem CreateStorageProviderItem(StorageProviderItem parent, AmazonNode item)
        {
            var result = new StorageProviderItem
            {
                Name = item.name,
                Id = item.id,
                ParentReferenceId = parent.Id,
                LastModifiedDateTime = item.modifiedDate
            };

            switch (item.kind)
            {
                case AmazonNodeKind.FILE:
                    result.Type = StorageProviderItemType.File;
                    break;
                case AmazonNodeKind.FOLDER:
                    result.Type = StorageProviderItemType.Folder;
                    break;
                default:
                    result.Type = StorageProviderItemType.Unknown;
                    break;
            }

            return result;
        }