public static AddressSetPropertyMapDB createPropertyMap(ProgramDB program, String mapName,
			ErrorHandler errHandler, AddressMap addrMap, Lock lock) throws DuplicateNameException {
		lock.acquire();
		try {
			DBHandle dbh = program.getDBHandle();
			String tableName = AddressSetPropertyMapDB.TABLE_PREFIX + mapName;
			if (dbh.getTable(tableName) != null) {
				throw new DuplicateNameException(
					"Address Set Property Map named " + mapName + " already exists.");
			}

			return new AddressSetPropertyMapDB(program, mapName, program, addrMap, lock);
		}
		finally {
			lock.release();
		}
	}
AddressSetPropertyMap that uses a RangeMapDB to maintain a set of addresses.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/util/AddressSetPropertyMapDB.java