code: public DatabaseSnapshot createSnapshot(CatalogAndSchema[] examples, Database database,
                                             SnapshotControl snapshotControl)
              throws DatabaseException, InvalidExampleException {
          if (database == null) {
              return null;
          }
  
          /*
           * Translate the given examples into "real" Schema objects according to the database's abilities (e.g.
           * does the DB support catalogs? schemas? are the given schema/catalog names the default ones for the
           * DB connection?)
            */
          Schema[] schemas = new Schema[examples.length];
          for (int i = 0; i< schemas.length; i++) {
              examples[i] = examples[i].customize(database);
              schemas[i] = new Schema(examples[i].getCatalogName(), examples[i].getSchemaName());
  
  
          }
  
          return createSnapshot(schemas, database, snapshotControl);
      }
docs: Creates a database snapshot for a given array of catalog/schema combinations.
  
  @param examples        an array of CatalogAndSchema objects
  @param database        the database to work on
  @param snapshotControl the options/settings for snapshot generation
  @return a database snapshot that includes all objects matching the specification
  @throws DatabaseException       if a problem occurs during snapshotting
  @throws InvalidExampleException if the given catalog/schema combinations are invalid (e.g. duplicates)