code: @InterfaceAudience.Public
      public Database openDatabase(String name, DatabaseOptions options)
              throws CouchbaseLiteException {
          if (options == null)
              options = getDefaultOptions(name);
          Database db = getDatabase(name, !options.isCreate());
          if (db != null && !db.isOpen()) {
              db.open(options);
              registerEncryptionKey(options.getEncryptionKey(), name);
          }
          return db;
      }
docs: Returns the database with the given name. If the database is not yet open, the options given
  will be applied; if it's already open, the options are ignored.
  Multiple calls with the same name will return the same {@link Database} instance.
  @param name The name of the database. May NOT contain capital letters!
  @param options Options to use when opening, such as the encryption key; if null, a default
  set of options will be used.
  @return The database instance.
  @throws CouchbaseLiteException thrown when there is an error.