List<List> allXmlList = getListOfExercisesList(xmlZipFile);
Collection<List<LabelValueBean>> allXmlList = getListOfExercisesList(xmlZipFile);
    public List<String> run(Integer executionCourseId, FormFile xmlZipFile, String path)            throws FenixServiceException, ExcepcaoPersistencia {        List<String> badXmls = new ArrayList<String>();        int xmlNumber = 0;        String replacedPath = path.replace('\\', '/');        ExecutionCourse executionCourse = (ExecutionCourse) rootDomainObject                .readExecutionCourseByOID(executionCourseId);        if (executionCourse == null) {            throw new InvalidArgumentsServiceException();        }        List<List> allXmlList = getListOfExercisesList(xmlZipFile);        for (List<LabelValueBean> xmlFilesList : allXmlList) {            if (xmlFilesList == null || xmlFilesList.size() == 0) {                throw new InvalidXMLFilesException();            }            Metadata metadata = null;            try {                metadata = DomainFactory.makeMetadata(executionCourse, null, replacedPath);            } catch (DomainException e) {                throw new InvalidMetadataException();            }            for (LabelValueBean labelValueBean : xmlFilesList) {                String xmlFile = labelValueBean.getValue();                String xmlFileName = labelValueBean.getLabel();                try {                    ParseQuestion parseQuestion = new ParseQuestion();                    parseQuestion.parseQuestion(xmlFile, new InfoQuestion(), replacedPath);                    Question question = DomainFactory.makeQuestion();                    question.setMetadata(metadata);                    question.setXmlFile(xmlFile);                    question.setXmlFileName(xmlFileName);                    question.setVisibility(new Boolean("true"));                    xmlNumber++;                } catch (DomainException domainException) {                    throw domainException;                } catch (SAXParseException e) {                    try {                        metadata.parseAndSetMetadataFile(xmlFile, replacedPath);                    } catch (DomainException e1) {                        badXmls.add(xmlFileName);                    }                } catch (ParseQuestionException e) {                    badXmls.add(xmlFileName + e);                } catch (Exception e) {                    badXmls.add(xmlFileName);                }            }        }        if (xmlNumber == 0) {            throw new InvalidXMLFilesException();        }        return badXmls;    }