public void createDatabase(String configTemplate, String name, String owner, String description,
			boolean trackCall) throws IOException {

		closeConnection();

		checkBSimServerOperation();

		querydb = BSimClientFactory.buildClient(bsimServerInfo, true);

		// TODO: Should this output differ for command-line vs workbench? debug only?
		try {
			DatabaseInformation info =
				createQueryDatabase(configTemplate, name, owner, description, trackCall);

			StringBuilder buf = new StringBuilder();
			buf.append("Created database: ");
			buf.append(info.databasename);
			buf.append("\n");
			buf.append("   owner       = ");
			buf.append(info.owner);
			buf.append("\n");
			buf.append("   description = ");
			buf.append(info.description);
			buf.append("\n");
			buf.append("   template    = ");
			buf.append(configTemplate);
			buf.append("\n");

			// TODO: Should this output differ for command-line vs workbench? debug only?
			Msg.info(this, buf.toString());
		}
		catch (IOException ex) {
			Msg.error(this, "Unable to create database: " + ex.getMessage());
			return;
		}

		// Always attempt to initialize after creation.
		boolean success = querydb.initialize();
		if (!success) {
			Msg.error(this, "Database initialization error: " + querydb.getLastError().message);
		}
	}
Creates a new BSim database with a given set of properties.

@param configTemplate the type of database to create
@param name the name of the database
@param owner the owner of the database
@param description the database description
@param trackCall if true, the database should track callgraph information
@throws IOException if there's an error building the {@link BSimClientFactory}
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/ingest/BulkSignatures.java