private void createEntry(String pFileWildcardPath, Map<String, String> pInstructionMap) 
  throws ExParser {
    
    //Get and validate the loader name
    String lLoader = pInstructionMap.remove(CONFIG_INSTRUCTION_LOADER);
    if(XFUtil.isNull(lLoader)){
      throw new ExParser("Invalid config file definition - 'Loader:' section cannot be null or empty");
    }
    
    //Retrieve the other values from the map
    int lStartOffset;
    int lFileOffset;
    try {
      lStartOffset = Integer.parseInt(pInstructionMap.remove(CONFIG_INSTRUCTION_START_OFFSET));
      lFileOffset = Integer.parseInt(pInstructionMap.remove(CONFIG_INSTRUCTION_FILE_OFFSET));
    }
    catch (NumberFormatException e) {
      throw new ExParser("Invalid integer value for Files section " + pFileWildcardPath);
    }
    catch (NullPointerException e){
      throw new ExParser("Invalid Files section " + pFileWildcardPath + " - both  " + CONFIG_INSTRUCTION_START_OFFSET + 
                         " and " + CONFIG_INSTRUCTION_FILE_OFFSET + " instructions must be specified");
    }    
    String lProperties = pInstructionMap.remove(CONFIG_INSTRUCTION_PROPERTIES);
    
    if(pInstructionMap.size() > 0){
      throw new ExParser("Unrecognised config file instruction: " + pInstructionMap.keySet().iterator().next());
    }
    
    mConfigFileEntryList.add(new ConfigFileEntry(mManifestBuilder, pFileWildcardPath, lLoader, lStartOffset, lFileOffset, lProperties));
  }