Set<RefPackage> ( RefPackage refPackage) { final Set<RefPackage> dependents = refPackage.getUserData(DEPENDENT_PACKAGES_KEY); if (dependents != null) { return dependents; } final Set<RefPackage> newDependents = new HashSet<>(); tabulateDependentPackages(refPackage, newDependents); newDependents.remove(refPackage); refPackage.putUserData(DEPENDENT_PACKAGES_KEY, newDependents); return newDependents; }