code: private void createIndexTables(AccumuloTable table)
      {
          // Early-out if table is not indexed
          if (!table.isIndexed()) {
              return;
          }
  
          // Create index table if it does not exist (for 'external' table)
          if (!tableManager.exists(table.getIndexTableName())) {
              tableManager.createAccumuloTable(table.getIndexTableName());
          }
  
          // Create index metrics table if it does not exist
          if (!tableManager.exists(table.getMetricsTableName())) {
              tableManager.createAccumuloTable(table.getMetricsTableName());
          }
  
          // Set locality groups on index and metrics table
          Map<String, Set<Text>> indexGroups = Indexer.getLocalityGroups(table);
          tableManager.setLocalityGroups(table.getIndexTableName(), indexGroups);
          tableManager.setLocalityGroups(table.getMetricsTableName(), indexGroups);
  
          // Attach iterators to metrics table
          for (IteratorSetting setting : Indexer.getMetricIterators(table)) {
              tableManager.setIterator(table.getMetricsTableName(), setting);
          }
      }
docs: Creates the index tables from the given Accumulo table. No op if
  {@link AccumuloTable#isIndexed()} is false.
  
  @param table Table to create index tables