code: @InterfaceAudience.Private
      public Database getDatabase(String name, boolean mustExist) {
          synchronized (lockDatabases) {
              if (options.isReadOnly())
                  mustExist = true;
              Database db = databases.get(name);
              if (db == null) {
                  if (!isValidDatabaseName(name))
                      throw new IllegalArgumentException("Invalid database name: " + name);
                  String path = pathForDatabaseNamed(name);
                  if (path == null)
                      return null;
                  db = new Database(path, name, this, options.isReadOnly());
                  if (mustExist && !db.exists()) {
                      Log.i(Database.TAG, "mustExist is true and db (%s) does not exist", name);
                      return null;
                  }
                  db.setName(name);
                  databases.put(name, db);
              }
              Log.v(Log.TAG_DATABASE, "getDatabase() %s %s", this, db);
              return db;
          }
      }
docs: Instantiates a database but doesn't open the file yet.
  in CBLManager.m
  - (CBLDatabase*) _databaseNamed: (NSString*)name
  mustExist: (BOOL)mustExist
  error: (NSError**)outError
  
  @exclude