Address getDefinedAddressAfter(Address address) {
		lock.acquire();
		try {
			DBRecord dataRec = null;
			DBRecord instRec = null;
			try {
				dataRec = dataAdapter.getRecordAfter(address);
				instRec = instAdapter.getRecordAfter(address);
			}
			catch (IOException e) {
				program.dbError(e);
				return null;
			}
			if (dataRec == null && instRec == null) {
				return null;
			}
			if (dataRec == null) {
				return addrMap.decodeAddress(instRec.getKey());
			}
			if (instRec == null) {
				return addrMap.decodeAddress(dataRec.getKey());
			}
			Address dataAddr = addrMap.decodeAddress(dataRec.getKey());
			Address instAddr = addrMap.decodeAddress(instRec.getKey());
			if (dataAddr.compareTo(instAddr) < 0) {
				return dataAddr;
			}
			return instAddr;
		}
		finally {
			lock.release();
		}
	}
Get the DataDB object from the cache; if it is not in the cache, create a new DB object and 
add it.
@param rec data record
@return the data
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/code/CodeManager.java