//Override
        public SuperColumn GetSuperColumn(string key, ColumnPath columnPath, bool reversed, int size)
        {
            AssertSuperColumnPath(columnPath);

            var sliceRange = new Apache.Cassandra.SliceRange(reversed, size);

            var op = new Operation <SuperColumn>(ClientCounter.READ_FAIL,
                                                 client =>
            {
                var columnParent = new Apache.Cassandra.ColumnParent(columnPath.ColumnFamily, columnPath.SuperColumn);
                var predicate    = new Apache.Cassandra.SlicePredicate(null, sliceRange);
                var data         = client.get_slice(Name, key, columnParent, predicate, ConsistencyLevel.ToThrift());
                return(new SuperColumn(columnPath.SuperColumn, GetColumnList(data)));
            });

            OperateWithFailover(op);
            return(op.Result);
        }
        //Override
        public SuperColumn GetSuperColumn(string key, ColumnPath columnPath, bool reversed, int size)
        {
            AssertSuperColumnPath(columnPath);

            var sliceRange = new Apache.Cassandra.SliceRange(reversed, size);

            var op = new Operation<SuperColumn>(ClientCounter.READ_FAIL,
                client =>
                {
                    var columnParent = new Apache.Cassandra.ColumnParent(columnPath.ColumnFamily, columnPath.SuperColumn);
                    var predicate = new Apache.Cassandra.SlicePredicate(null, sliceRange);
                    var data = client.get_slice(Name, key, columnParent, predicate, ConsistencyLevel.ToThrift());
                    return new SuperColumn(columnPath.SuperColumn, GetColumnList(data));
                });

            OperateWithFailover(op);
            return op.Result;
        }