class AccumuloKeyRangePartitioner extends Partitioner {

    public static synchronized String[] getSplits(final AccumuloStore store) throws OperationException {
        final Connector connector;
        try {
            connector = store.getConnection();
        } catch (final StoreException e) {
            throw new OperationException("Failed to create accumulo connection", e);
        }

        final String table = store.getTableName();
        try {
            return connector.tableOperations()
                    .listSplits(table)
                    .stream()
                    .sorted()
                    .map(Text::toString)
                    .toArray(String[]::new);
        } catch (final TableNotFoundException | AccumuloSecurityException | AccumuloException e) {
            throw new OperationException("Failed to get accumulo split points from table " + table, e);
        }
    }

    public  AccumuloKeyRangePartitioner(final AccumuloStore store);

}