code: public static Span prefix(Bytes row, Column colPrefix) {
      Objects.requireNonNull(row);
      Objects.requireNonNull(colPrefix);
      Bytes cf = colPrefix.getFamily();
      Bytes cq = colPrefix.getQualifier();
      Bytes cv = colPrefix.getVisibility();
  
      if (colPrefix.isVisibilitySet()) {
        Bytes fp = followingPrefix(cv);
        RowColumn end = (fp == null ? new RowColumn(row, new Column(cf, cq)).following()
            : new RowColumn(row, new Column(cf, cq, fp)));
        return new Span(new RowColumn(row, colPrefix), true, end, false);
      } else if (colPrefix.isQualifierSet()) {
        Bytes fp = followingPrefix(cq);
        RowColumn end = (fp == null ? new RowColumn(row, new Column(cf)).following()
            : new RowColumn(row, new Column(cf, fp)));
        return new Span(new RowColumn(row, colPrefix), true, end, false);
      } else if (colPrefix.isFamilySet()) {
        Bytes fp = followingPrefix(cf);
        RowColumn end =
            (fp == null ? new RowColumn(row).following() : new RowColumn(row, new Column(fp)));
        return new Span(new RowColumn(row, colPrefix), true, end, false);
      } else {
        return prefix(row);
      }
    }
docs: Returns a Span that covers all columns beginning with a row and {@link Column} prefix. The
  {@link Column} passed to this method can be constructed without a qualifier or visibility to
  create a prefix Span at the family or qualifier level.