private boolean checkTable(RemoteAdmin admin) throws IOException {
    TableDescriptor tableDescriptor = getDescriptor();
    if (this.presplitRegions > 0) {
      // presplit requested
      if (admin.isTableAvailable(tableDescriptor.getTableName().getName())) {
        admin.deleteTable(tableDescriptor.getTableName().getName());
      }

      byte[][] splits = getSplits();
      for (int i = 0; i < splits.length; i++) {
        LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));
      }
      admin.createTable(tableDescriptor);
      LOG.info("Table created with " + this.presplitRegions + " splits");
    } else {
      boolean tableExists = admin.isTableAvailable(tableDescriptor.getTableName().getName());
      if (!tableExists) {
        admin.createTable(tableDescriptor);
        LOG.info("Table " + tableDescriptor + " created");
      }
    }

    return admin.isTableAvailable(tableDescriptor.getTableName().getName());
  }
If table does not already exist, create.
@param admin Client to use checking.
@return True if we created the table.
@throws IOException if an operation on the table fails
hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java