static Predicate<? super Class<?>> samePackageOrBelow(String rootPackage, boolean excludeInternalPackages) {
        requireNonNull(rootPackage);
        return clazz -> {
            final String className = clazz.getName();
            if (excludeInternalPackages && className.contains(".internal.")) {
                return false;
            }
            return className.startsWith(rootPackage);
        };
    }
Returns a {@code Predicate} that will evaluate to true iff
tested with a class that lies in the same package as the
provided {@code rootPackage} or a package below the
provided {@code rootPackage}.
<p>
If the provided {@code excludeInternalPackages}  is true, then package
names that contain the word ".internal." will not be deemed
to be applicable.

@param rootPackage as a reference to the root package
@param excludeInternalPackages if internal packages shall be excluded
@return a {@code Predicate} that will evaluate to true iff
        tested with a class that lies in the same package as the
        provided {@code rootPackage} or a package below the
        provided {@code rootPackage}
common-parent/injector/src/main/java/com/speedment/common/injector/InjectorProxy.java