public AddressRange registerAddressesForMethod(Method method) {
		byte[] bytecodes = method.bytecodes();
		if (bytecodes == null) {
			return null;
		}
		int length = bytecodes.length;
		if (length <= 0) {
			return null;
		}
		synchronized (addressRangeByMethod) {
			Address start = ram.getAddress(ramIndex);
			AddressRangeImpl range =
				new AddressRangeImpl(start, start.add(length - 1));
			String key = methodToKey(method);
			//System.err.println(Long.toHexString(ramIndex)+":"+key+":"+bytecodes.length+" "+Long.toHexString(bytecodes[0]));
			if (!methodsByKey.containsKey(key)) {
				methodsByKey.put(key, method);
			}
			if (!addressRangeByMethod.containsKey(key)) {
				addressRangeByMethod.put(key, range);
				ramIndex = range.getMaxAddress().getUnsignedOffset() + STATIC_METHOD_SEPARATION;
				return range;
			}
			return addressRangeByMethod.get(key);
		}
	}
TODO: The return type should be reflected from the method; however, none of the parameter
collection routines currently use the return type, so just use ANY for now.
Ghidra/Debug/Debugger-jpda/src/main/java/ghidra/dbg/jdi/rmi/jpda/JdiConnector.java