private static ElfRelocation getInstance(Class<? extends ElfRelocation> elfRelocationClazz)
			throws IOException {
		try {
			Constructor<? extends ElfRelocation> constructor = elfRelocationClazz.getConstructor();
			return constructor.newInstance();
		}
		catch (NoSuchMethodException e) {
			throw new IOException(
				elfRelocationClazz.getName() + " does not provide default constructor");
		}
		catch (Exception e) {
			throw new IOException(e);
		}
	}
GenericFactory construction and initialization method for a ELF representative 
relocation entry 
@param elfHeader ELF header
@param relocationIndex index of entry in relocation table
@param withAddend true if it's a RELA entry with addend, else false
@param r_offset The offset for the entry
@param r_info The info value for the entry
@param r_addend The signed-addend for the entry (32-bit addends should be signed-extended to 64-bits)
@return ELF relocation object
@throws IOException if an IO or parse error occurs
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/ElfRelocation.java