public List<ArtifactResult> dependencies() throws RepositoryException { List<ModuleInfo> infos = BytecodeUtils.readModuleInformation(name(), artifact()); if (infos.isEmpty()) return Collections.emptyList(); final List<ArtifactResult> results = new ArrayList<ArtifactResult>(); for (ModuleInfo mi : infos) { results.add( new LazyArtifactResult( mi.getName(), mi.getVersion(), mi.isOptional() ? ImportType.OPTIONAL : (mi.isExport() ? ImportType.EXPORT : ImportType.UNDEFINED))); } return results; }