m.load();
        Iterator iter = m.getAllContents();
        while (iter.hasNext()) {
          EObject eobj = (EObject) iter.next();
          if (eobj instanceof Module) {
            Module module = (Module) eobj;
            result.add(module);
          }
        }
      } catch (Exception e) {
        logger.log(Level.SEVERE, "failed to read " + location, e);