// [END bigtable_filters_composing_chain]

        // [START bigtable_filters_composing_interleave]
        /// <summary>
        /// /// Read using an interleave filter from an existing table.
        ///</summary>
        /// <param name="projectId">Your Google Cloud Project ID.</param>
        /// <param name="instanceId">Your Google Cloud Bigtable Instance ID.</param>
        /// <param name="tableId">Your Google Cloud Bigtable table ID.</param>

        public string filterComposingInterleave(
            String projectId, String instanceId, String tableId)
        {
            // A filter that matches cells with the value true OR with the column qualifier os_build
            RowFilter filter = RowFilters.Interleave(RowFilters.ValueExact("true"), RowFilters.ColumnQualifierExact("os_build"));

            return(readFilter(projectId, instanceId, tableId, filter));
        }
        public void Interleave()
        {
            var filter = RowFilters.Interleave(
                RowFilters.CellsPerRowLimit(1),
                RowFilters.ValueExact("abc"));

            Assert.NotNull(filter.Interleave);
            Assert.Equal(2, filter.Interleave.Filters.Count);
            Assert.Equal(RowFilters.CellsPerRowLimit(1), filter.Interleave.Filters[0]);
            Assert.Equal(RowFilters.ValueExact("abc"), filter.Interleave.Filters[1]);
        }
 public void Interleave_Validations()
 {
     Assert.Throws <ArgumentNullException>(() => RowFilters.Interleave(default(RowFilter[])));
     Assert.Throws <ArgumentException>(() => RowFilters.Interleave(new RowFilter[] { null }));
 }