@Override
	public Record getRecord(long[] ref) {
		Record res = new Record();
		switch ((int) ref[1]) {
			case 0:					// Method invocation
				fillinMethod((int) ref[0], false, res);
				return res;
			case 1:					// Field lookup
				fillinField((int) ref[0], false, res);
				return res;
			case 2:					// Static field lookup
				fillinField((int) ref[0], true, res);
				return res;
			case 3:					// Static method
				fillinMethod((int) ref[0], true, res);
				return res;
			case 4:					// String literals
				fillinString((int) ref[0], res);
				return res;
			case 5:					// Class references
				fillinClass((short) ref[0], res);
				return res;
			case 6:
				fillinArrayLength(res);
				return res;
			case 7:
				fillinSuper(res);
				return res;
			case 8:
				fillinInstanceOf((short) ref[0], res);
				return res;
		}
		return null;
	}
Map Ghidra's generic ConstantPool interface onto the Dex specific constant pool
Ghidra/Processors/Dalvik/src/main/java/ghidra/dalvik/dex/inject/ConstantPoolDex.java