public <R, S, P extends Message, Q extends Message, T extends Message> R
    min(final TableName tableName, final ColumnInterpreter<R, S, P, Q, T> ci, final Scan scan)
      throws Throwable {
    try (Table table = getConnection().getTable(tableName)) {
      return min(table, ci, scan);
    }
  }
It gives the minimum value of a column for a given column family for the given range. In case
qualifier is null, a min of all values for the given family is returned.
@param tableName the name of the table to scan
@param ci        the user's ColumnInterpreter implementation
@param scan      the HBase scan object to use to read data from HBase
@return min val &lt;R&gt;
@throws Throwable The caller is supposed to handle the exception as they are thrown &amp;
                  propagated to it.
hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/AggregationClient.java