/*
   * Copy all collections that will be needed to convert masterTxn to this
   * ReplayTxn. Note that we do not need to copy the openDatabaseHandle
   * collection.  That collection is only needed by an application-facing
   * Txn, so that those database handles can be invalidated if
   * needed. ReplayTxn is not application-facing, and uses DatabaseImpls
   * rather than Databases.
   */
  public void copyDatabasesForConversion(Txn masterTxn) {
    if (masterTxn.getUndoDatabases() != null) {
      if (undoDatabases == null) {
        undoDatabases = new HashMap<DatabaseId, DatabaseImpl>();
      }
      undoDatabases.putAll(masterTxn.getUndoDatabases());
    }

    if (masterTxn.getDeletedDatabases() != null) {
      if (deletedDatabases == null) {
        deletedDatabases = new HashSet<DatabaseCleanupInfo>();
      }
      deletedDatabases.addAll(masterTxn.getDeletedDatabases());
    }
  }