code: private boolean accepted(Columns columns, IndexExpression expression) {
  
          ByteBuffer expectedValue = expression.value;
  
          ColumnDefinition def = metadata.getColumnDefinition(expression.column);
          String name = def.name.toString();
  
          Column column = columns.getColumn(name);
          if (column == null) {
              return false;
          }
  
          ByteBuffer actualValue = column.getDecomposedValue();
          if (actualValue == null) {
              return false;
          }
  
          AbstractType<?> validator = def.type;
          int comparison = validator.compare(actualValue, expectedValue);
          switch (expression.operator) {
              case EQ:
                  return comparison == 0;
              case GTE:
                  return comparison >= 0;
              case GT:
                  return comparison > 0;
              case LTE:
                  return comparison <= 0;
              case LT:
                  return comparison < 0;
              default:
                  throw new IllegalStateException();
          }
      }
docs: Returns {@code true} if the specified {@link Columns} satisfies the the specified {@link IndexExpression}, {@code
  false} otherwise.
  
  @param columns    A {@link Columns}
  @param expression A {@link IndexExpression}s to be satisfied by {@code columns}.
  @return {@code true} if the specified {@link Columns} satisfies the the specified {@link IndexExpression}, {@code
  false} otherwise.