code: public int compareTo(Version that) {
  
      if (that == null) {
        return 1;
      }
  
      if (major != that.major) {
        return major - that.major;
      }
  
      if (minor != that.minor) {
        return minor - that.minor;
      }
  
      if (bugfix != that.bugfix) {
        return bugfix - that.bugfix;
      }
  
      if (build != that.build) {
        return build - that.build;
      }
  
      return 0;
    }
docs: /*
  (non-Javadoc)
  @see java.lang.Comparable#compareTo(java.lang.Object)