/**
  *  Checa se existem erros de conflitos e retorna os modulos conflitantes
  *
  * @param array $conflitos
  * @param array $explodedLoadedModules
  * @param array $explodedLoadedTypes
  * @return array|bool
  */
 public static function checkModuleConflicts(array $conflitos, array $explodedLoadedModules, array $explodedLoadedTypes)
 {
     $errors = [];
     foreach ($conflitos as $conflito) {
         //Se for uma conflito valido
         if (!empty($conflito)) {
             //Conflito quebrado em tipo e nome
             $conflitoBroken = explode(Strings::MODULE_CONFIG_CONFLICT_SEPARATOR, $conflito);
             //Tipo do Conflito
             $conflitoType = $conflitoBroken[0];
             //Verifica se é um conflito especifico
             if (array_key_exists(1, $conflitoBroken)) {
                 //verifica se o modulo conflituoso esta carregado
                 if (in_array($conflito, $explodedLoadedModules)) {
                     //Adiciona o erro para o array de erros
                     $errors[] = Strings::moduleSpecificConflictError($conflito);
                 }
             } else {
                 //Verifica se é um conflito de tipo
                 //verifica se o tipo conflituoso esta carregado
                 if (in_array($conflitoType, $explodedLoadedTypes)) {
                     //Adiciona o erro para o array de erros
                     $errors[] = Strings::moduleTypeConflictError($conflitoType);
                 }
             }
         }
     }
     return !empty($errors) ? $errors : true;
 }