public static IHttpResponse List(
            [QueryParameter(Name = NamePropertyName)] string name,
            HttpApplication httpApp,
            MultipartAsyncResponse <StorageRow> onFound,
            NotFoundResponse onNotFound)
        {
            return(DiscoverStorageResources(httpApp.GetType())
                   .Where(table => table.name == name)
                   .First(
                       (storageTable, next) =>
            {
                var table = storageTable.cloudTable;
                var query = new TableQuery <GenericTableEntity>();
                var allRows = AzureTableDriverDynamic
                              .FindAllInternal(query, table)
                              .Select(
                    tableRow =>
                {
                    return new StorageRow()
                    {
                        rowKey = tableRow.RowKey,
                        partitionKey = tableRow.PartitionKey,
                        properties = tableRow.properties
                                     .Select(
                            property =>
                        {
                            var epValue = property.Value
                                          .GetPropertyAsObject(out bool hasValue);

                            return property.Key
                            .PairWithValue(epValue);
                        })
                                     .ToDictionary(),
                    };
                });
                return onFound(allRows);
            },
                       () => onNotFound()));
        }