code: protected void create(List<TableInfo> tableInfos)
      {
          try
          {
              if (admin.isTableAvailable(databaseName))
              {
                  addColumnFamilies(tableInfos, admin.getTableDescriptor(databaseName.getBytes()), false);
              }
              else
              {
                  createTable(tableInfos);
              }
              if (admin.isTableDisabled(databaseName))
              {
                  admin.enableTable(databaseName);
              }
          }
          catch (TableNotFoundException e)
          {
              logger.info("creating table " + databaseName);
          }
          catch (IOException ioex)
          {
              logger.error("Either table isn't in enabled state or some network problem, Caused by: ", ioex);
              throw new SchemaGenerationException(ioex, "Hbase");
          }
      }
docs: create method creates schema and table for the list of tableInfos.
  
  @param tableInfos
  list of TableInfos.