@PublicAPI(usage = ACCESS)
    public void accept(Predicate<? super JavaPackage> predicate, PackageVisitor visitor) {
        if (predicate.apply(this)) {
            visitor.visit(this);
        }
        for (JavaPackage subPackage : getSubPackages()) {
            subPackage.accept(predicate, visitor);
        }
    }
@ PublicAPI ( usage = ACCESS ) public void accept ( Predicate < ? super JavaPackage > predicate , PackageVisitor visitor ) { if ( predicate . apply ( this ) ) { visitor . visit ( this ) ; } for ( JavaPackage subPackage : getSubPackages ( ) ) { subPackage . accept ( predicate , visitor ) ; } }
Traverses the package tree visiting each matching package.
@param predicate determines which packages within the package tree should be visited
@param visitor will receive each package in the package tree matching the given predicate
@see #accept(Predicate, ClassVisitor)