@Override
	public Equate createEquate(String name, long value)
			throws DuplicateNameException, InvalidInputException {
		lock.acquire();
		try {
			if (equateAdapter.hasRecord(name)) {
				throw new DuplicateNameException(name + " already exists for an equate.");
			}
			validateName(name);
			DBRecord record = equateAdapter.createEquate(name, value);
			EquateDB equate = new EquateDB(this, equateCache, record);
			program.setChanged(ProgramEvent.EQUATE_ADDED, new EquateInfo(name, value, null, 0, 0),
				null);
			return equate;

		}
		catch (IOException e) {
			program.dbError(e);
		}
		finally {
			lock.release();
		}
		return null;
	}
Constructor
@param handle database handle
@param addrMap map that converts addresses to longs and longs to addresses
@param openMode one of ProgramDB.CREATE, UPDATE, UPGRADE, or READ_ONLY
@param lock the program synchronization lock
@param monitor the progress monitor used when upgrading.
@throws VersionException if the database version doesn't match the current version.
@throws IOException if a database error occurs.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/EquateManager.java