class VersionUtil {

    private static String version;

    static {
        try {
            version = version();
        } catch (Exception e) {
            log.warn("no version number found");
        }
    }

    private VersionUtil() { }

    public static String version() {<FILL_FUNCTION_BODY>}

    public static String getVersion() {
        return version;
    }

}

        // find version info from MANIFEST.MF first
        Package pkg = VersionUtil.class.getPackage();
        String version;
        if (pkg != null) {
            version = pkg.getImplementationVersion();
            if (StringUtils.isNotEmpty(version)) {
                return version;
            }
            version = pkg.getSpecificationVersion();
            if (StringUtils.isNotEmpty(version)) {
                return version;
            }
        }
        return "unknown";
    
<no_super_class>