code: public static List<ByteBuffer> minComponents(List<ByteBuffer> minSeen, Composite candidate, CellNameType comparator)
      {
          // For a cell name, no reason to look more than the clustering prefix
          // (and comparing the collection element would actually crash)
          int size = Math.min(candidate.size(), comparator.clusteringPrefixSize());
  
          if (minSeen.isEmpty())
              return getComponents(candidate, size);
  
          // In most case maxSeen is big enough to hold the result so update it in place in those cases
          minSeen = maybeGrow(minSeen, size);
  
          for (int i = 0; i < size; i++)
              minSeen.set(i, min(minSeen.get(i), candidate.get(i), comparator.subtype(i)));
  
          return minSeen;
      }
docs: finds the min cell name component(s)
  
  Note that this method *can modify maxSeen*.
  
  @param minSeen the max columns seen so far
  @param candidate the candidate column(s)
  @param comparator the comparator to use
  @return a list with the min column(s)