code: public ConditionalRowMutation condition(@Nonnull Filter condition) {
      Preconditions.checkNotNull(condition);
      Preconditions.checkState(
          !builder.hasPredicateFilter(),
          "Can only have a single condition, please use a Filters#chain or Filters#interleave filter instead");
      // TODO: verify that the condition does not use any FILTERS.condition() filters
  
      builder.setPredicateFilter(condition.toProto());
  
      return this;
    }
docs: The filter to be applied to the contents of the specified row. Depending on whether or not any
  results are yielded, either the mutations added via {@link #then(Mutation)} or {@link
  #otherwise(Mutation)} will be executed. If unset, checks that the row contains any values at
  all.
  
  <p>Unlike {@link #then(Mutation)} and {@link #otherwise(Mutation)}, only a single condition can
  be set. However that filter can be a {@link Filters#chain()} or {@link Filters#interleave()},
  which can wrap multiple other filters.
  
  <p>WARNING: {@link Filters#condition(Filter)} is not supported.