code: public final List/* <AttachedNarArtifact> */getAttachedNarDependencies(final List/*
                                                                                      * <
                                                                                      * NarArtifacts
                                                                                      * >
                                                                                      */narArtifacts,
        final AOL archOsLinker, final String type) throws MojoExecutionException, MojoFailureException {
      boolean noarch = false;
      AOL aol = archOsLinker;
      if (aol == null) {
        noarch = true;
        aol = this.defaultAOL;
      }
  
      final List artifactList = new ArrayList();
      for (final Object narArtifact : narArtifacts) {
        final Artifact dependency = (Artifact) narArtifact;
        final NarInfo narInfo = getNarInfo(dependency);
        if (noarch) {
          artifactList.addAll(getAttachedNarDependencies(dependency, null, NarConstants.NAR_NO_ARCH));
        }
  
        // use preferred binding, unless non existing.
        final String binding = narInfo.getBinding(aol, type != null ? type : Library.STATIC);
  
        // FIXME kludge, but does not work anymore since AOL is now a class
        if (aol.equals(NarConstants.NAR_NO_ARCH)) {
          // FIXME no handling of local
          artifactList.addAll(getAttachedNarDependencies(dependency, null, NarConstants.NAR_NO_ARCH));
        } else {
          artifactList.addAll(getAttachedNarDependencies(dependency, aol, binding));
        }
      }
      return artifactList;
    }
docs: Returns a list of all attached nar dependencies for a specific binding and
  "noarch", but not where "local" is
  specified
  
  @param scope
  compile, test, runtime, ....
  @param aol
  either a valid aol, noarch or null. In case of null both the
  default getAOL() and noarch dependencies
  are returned.
  @param type
  noarch, static, shared, jni, or null. In case of null the default
  binding found in narInfo is used.
  @return
  @throws MojoExecutionException
  @throws MojoFailureException