private static DwarfEHDecoder createDecoder(DwarfEHDataDecodeFormat style,
			DwarfEHDataApplicationMode mod, boolean isIndirect) {
		switch (Objects.requireNonNullElse(style, DwarfEHDataDecodeFormat.DW_EH_PE_omit)) {
			case DW_EH_PE_absptr:
				return new DW_EH_PE_absptr_Decoder(mod, isIndirect);
			case DW_EH_PE_uleb128:
				return new DW_EH_PE_uleb128_Decoder(mod, isIndirect);
			case DW_EH_PE_udata2:
				return new DW_EH_PE_udata2_Decoder(mod, isIndirect);
			case DW_EH_PE_udata4:
				return new DW_EH_PE_udata4_Decoder(mod, isIndirect);
			case DW_EH_PE_udata8:
				return new DW_EH_PE_udata8_Decoder(mod, isIndirect);
			case DW_EH_PE_signed:
				return new DW_EH_PE_signed_Decoder(mod, isIndirect);
			case DW_EH_PE_sleb128:
				return new DW_EH_PE_sleb128_Decoder(mod, isIndirect);
			case DW_EH_PE_sdata2:
				return new DW_EH_PE_sdata2_Decoder(mod, isIndirect);
			case DW_EH_PE_sdata4:
				return new DW_EH_PE_sdata4_Decoder(mod, isIndirect);
			case DW_EH_PE_sdata8:
				return new DW_EH_PE_sdata8_Decoder(mod, isIndirect);
			case DW_EH_PE_omit:
			default:
				return new DW_EH_PE_omit_Decoder(mod, isIndirect);
		}
	}
Get the appropriate decoder for the given 8-bit mode; mode is parsed into
decode format, application mode, and indirection flag.
@see #createDecoder(DwarfEHDataDecodeFormat, DwarfEHDataApplicationMode, boolean)
@param mode a byte that indicates an encoding
@return the decoder for the indicated mode of encoding
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/exceptionhandlers/gcc/DwarfDecoderFactory.java