public void populateSchema(String schema) throws SQLException {
        List<String> populatedTables = new ArrayList<>();
        List<ForeignKey> foreignKeys = metaDataDao.foreignKeys();
        List<String> tables = metaDataDao.tableNames(schema);
        while (populatedTables.size() < tables.size()) {
            String table = findTableToPopulate(populatedTables, tables, foreignKeys);
            this.populate(schema, table, 100);
            populatedTables.add(table);
        }
    }