model/src/main/java/org/jboss/pnc/model/BuildConfiguration.java
public Set<BuildConfiguration> getIndirectDependencies() {
        Set<BuildConfiguration> indirectDependencies = new HashSet<BuildConfiguration>();
        List<BuildConfiguration> configsToCheck = new ArrayList<BuildConfiguration>();
        configsToCheck.addAll(getDependencies());
        while (!configsToCheck.isEmpty()) {
            BuildConfiguration nextConfig = configsToCheck.get(0);
            for (BuildConfiguration nextDep : nextConfig.getDependencies()) {
                if (!indirectDependencies.contains(nextDep)) {
                    indirectDependencies.add(nextDep);
                    configsToCheck.add(nextDep);
                }
            }
            configsToCheck.remove(nextConfig);
        }
        return indirectDependencies;
    }
public Set<BuildConfiguration> getIndirectDependencies() {
        Set<BuildConfiguration> indirectDependencies = new HashSet<BuildConfiguration>();
        List<BuildConfiguration> configsToCheck = new ArrayList<BuildConfiguration>();
        configsToCheck.addAll(getDependencies());
        while (!configsToCheck.isEmpty()) {
            BuildConfiguration nextConfig = configsToCheck.get(0);
            for (BuildConfiguration nextDep : nextConfig.getDependencies()) {
                if (!indirectDependencies.contains(nextDep)) {
                    indirectDependencies.add(nextDep);
                    configsToCheck.add(nextDep);
                }
            }
            configsToCheck.remove(nextConfig);
        }
        return indirectDependencies;
    }
Gets the full set of indirect dependencies (dependencies of dependencies). In cases where a particular dependency is both
a direct dependency and is an indirect dependency, it will be included in the set.

@return The set of indirect dependencies