@Override
        public int compare(MavenVersion t1, MavenVersion t2) {
            int result = 0;
            int compare = compareTo(t1.majorVersion, t2.majorVersion);
            if (compare != 0) {
                result = compare;
            } else if (t1.featureVersion != null) {
                compare = compareTo(t1.featureVersion, t2.featureVersion);
                if (compare != 0) {
                    result = compare;
                } else if (t1.bugfixVersion != null) {
                    compare = compareTo(t1.bugfixVersion, t2.bugfixVersion);
                    if (compare != 0) {
                        result = compare;
                    } else {
                        result = Boolean.valueOf(!t1.snapshot).compareTo(Boolean.valueOf(t2.snapshot));
                    }
                }
            }
            return result;
        }