@Override
  public void registerProvider(TableProvider provider) {
    if (providers.containsKey(provider.getTableType())) {
      throw new IllegalArgumentException(
          "Provider is already registered for table type: " + provider.getTableType());
    }

    initTablesFromProvider(provider);
    this.providers.put(provider.getTableType(), provider);
  }
@Test(expected = IllegalStateException.class)
  public void testRegisterProvider_duplicatedTableName() throws Exception {
    store.registerProvider(new MockTableProvider("mock", "hello", "world"));
    store.registerProvider(new MockTableProvider("mock1", "hello", "world"));
  }