public PackageBuilder withDependencies(Filter<? super Package> f) {
List<Tie> ties2 = new ArrayList<Tie>(10);
final ClassLoader cl = Thread.currentThread().getContextClassLoader();
for (Tie t : ties) {
NounPart sub = NounFactory.createNewSubjectNounPart(t);
Package p = getRepresented(t);
Set<PackageHandle> packNames = model.getDependsOnPackages(new PackageHandle(MemberHandle.convertPackageName(p), null));
for (Package p2 : MemberHandle.hydratePackages(packNames, cl)) {
if ((f==null) || (f.accept(p2))) {
ties2.add(new Tie(sub, JavaRelationships.REQUIRES, createNoun(p2)));