@Override
        public int compareTo(VersionComponents other) {
            if (major < other.major) {
                return -1;
            }
            if (major > other.major ) {
                return 1;
            }

            if (minor < other.minor) {
                return -1;
            }
            if (minor > other.minor ) {
                return 1;
            }

            if (patch < other.patch) {
                return -1;
            }
            if (patch > other.patch ) {
                return 1;
            }

            return 0;
        }
@see java.lang.Comparable#compareTo(java.lang.Object)
manager/api/migrator/src/main/java/io/apiman/manager/api/migrator/VersionMigrators.java