public static String classPackageAsResourcePath(Class<?> clazz) {
        if (clazz == null) {
            return "";
        }
        String className = clazz.getName();
        int packageEndIndex = className.lastIndexOf('.');
        if (packageEndIndex == -1) {
            return "";
        }
        String packageName = className.substring(0, packageEndIndex);
        return packageName.replace('.', '/');
    }
Given an input class object, return a string which consists of the
class's package name as a pathname, i.e., all dots ('.') are replaced by
slashes ('/'). Neither a leading nor trailing slash is added. The result
could be concatenated with a slash and the name of a resource and fed
directly to {@code ClassLoader.getResource()}. For it to be fed to
{@code Class.getResource} instead, a leading slash would also have
to be prepended to the returned value.

@param clazz the input class. A {@code null} value or the default
             (empty) package will result in an empty string ("") being returned.
@return a path which represents the package name
@see ClassLoader#getResource
@see Class#getResource
src/main/java/spark/utils/ClassUtils.java