public int compareTo(Version other) {
                if (other == null) {
	            return 1;
	        }

	        String[] versionParts = version.split("\\.");
	        String[] otherVersionParts = other.version.split("\\.");

	        for (int i = 0; i < Math.min(versionParts.length, otherVersionParts.length); i++) {
	            if (versionParts[i].length() == otherVersionParts[i].length()) {
	        	int comparisonResult = versionParts[i].compareTo(otherVersionParts[i]);
	        	if (comparisonResult == 0) {
	        	    continue;
	        	} else {
	        	    return comparisonResult;
	        	}
	            } else {
	        	return versionParts[i].length() > otherVersionParts[i].length() ? 1 : -1;
	            }
	        }

	        if (versionParts.length > otherVersionParts.length) {
	            return 1;
	        } else if (versionParts.length < otherVersionParts.length) {
	            return -1;
	        } else {
	            return 0;
	        }
        }