    @Test
    public void readingElfHeader() throws Exception {

        ApplicationConfiguration configuration = new ApplicationConfiguration();
        configuration.setInitializeLogging(false);
        Application.initializeApplication(
            new GhidraApplicationLayout(new File("../../..")),
            configuration);
        UniversalIdGenerator.initialize();

        ClassLoader classLoader = getClass().getClassLoader();
        File file = new File(classLoader.getResource("elf/orc_0013").getFile());
        ByteProvider provider = new RandomAccessByteProvider(file);
        GenericFactory factory = RethrowContinuesFactory.INSTANCE;
        ElfHeader elf = ElfHeader.createElfHeader(factory, provider);
        List<Option> options = new ArrayList<Option>();
        MessageLog log = new MessageLog();
        LanguageCompilerSpecPair specPair = new LanguageCompilerSpecPair("x86:LE:64:default", "gcc");
        LanguageService languageService = DefaultLanguageService.getLanguageService(
                new ResourceFile(new File(
                        "../../Processors/x86/data/languages/x86.ldefs")));
        Language language = languageService.getLanguage(specPair.languageID);
        CompilerSpec compilerSpec = language.getCompilerSpecByID(specPair.compilerSpecID);
        Object consumer = new Object();
        Program prog = new ProgramDB("orc_0013", language, compilerSpec, consumer);
        ElfProgramBuilder.loadElf(elf, prog, options, log, MemoryConflictHandler.ALWAYS_OVERWRITE, TaskMonitor.DUMMY);
    }