private void createIncludeDirectives( final DefaultModule module, final List<IncludeDirective> list, final Category category) { DefaultResource[] providers = getDefaultProviders(Scope.RUNTIME, true, category); for (int i = 0; i < providers.length; i++) { DefaultResource provider = providers[i]; if (provider.isaDescendant(module)) { // create a ref String path = provider.getResourcePath(); IncludeDirective include = new IncludeDirective(IncludeDirective.REF, category, path, null); if (!list.contains(include)) { list.add(include); } } else { // create a urn Type[] types = provider.getTypes(); for (int j = 0; j < types.length; j++) { Type type = types[j]; String label = type.getID(); Artifact artifact = type.getArtifact(); String urn = artifact.toString(); IncludeDirective include = new IncludeDirective(IncludeDirective.URI, category, urn, null); if (!list.contains(include)) { list.add(include); } } } } }