static Predicate<? super Class<?>> samePackageOrBelow(Class<?> classInRootPackage, boolean excludeInternalPackages) {
        requireNonNull(classInRootPackage);
        return samePackageOrBelow(classInRootPackage.getPackage().getName(), excludeInternalPackages);
    }
Returns a {@code Predicate} that will evaluate to true iff
tested with a class that lies in the same package as the
provided {@code classInRootPackage} or a package below the
provided {@code classInRootPackage}.
<p>
If the provided {@code excludeInternalPackages}  is true, then package
names that contain the word ".internal." will not be deemed
to be applicable.

@param classInRootPackage 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 classInRootPackage} or a package below the
        provided {@code classInRootPackage}
common-parent/injector/src/main/java/com/speedment/common/injector/InjectorProxy.java