private Map<Integer, Integer> getIndexMap(AbstractConstantPoolInfoJava[] constantPool) {
		Map<Integer, Integer> indexMap = new HashMap<Integer, Integer>();
		// offset starts at one since JVM constant pool indexing starts with 1...
		int offset = 1;
		for (int i = 1; i < constantPool.length; i++) {
			indexMap.put(i, i - offset);
			if (constantPool[i] instanceof ConstantPoolLongInfo ||
				constantPool[i] instanceof ConstantPoolDoubleInfo) {
				offset++;
			}
		}
		return indexMap;
	}
Create datatypes for all classes mentioned in the constant pool
@param program program file
@param classFile ClassFileJava associated with {@code program} 
@param monitor for canceling analysis
@param messageLog for logging messages
Ghidra/Processors/JVM/src/main/java/ghidra/javaclass/analyzers/JavaAnalyzer.java