public int moreRecentThan(Plugin plugin) {
        if (this.version == null) {
            return 1;
        }
        if (plugin.getVersion() == null) {
            return -1;
        }
        String[] v1Decomp = formatVersion(this.version).split("\\.");
        String[] v2Decomp = formatVersion(plugin.getVersion()).split("\\.");
        int shortestLength = Math.min(v1Decomp.length, v2Decomp.length);
        for (int i = 0; i < shortestLength; i++) {
            if (Integer.parseInt(v1Decomp[i]) < Integer.parseInt(v2Decomp[i])) {
                return -1;
            }
            if (Integer.parseInt(v1Decomp[i]) > Integer.parseInt(v2Decomp[i])) {
                return 1;
            }
        }
        if (v1Decomp.length < v2Decomp.length) {
            return -1;
        }
        if (v1Decomp.length > v2Decomp.length) {
            return 1;
        }
        return 0;
    }