code: @Override
    public int compareTo(Version version) {
  
      return ComparatorResultBuilder.<Integer>create()
        .doCompare(this.getMajor(), version.getMajor())
        .doCompare(this.getMinor(), version.getMinor())
        .doCompare(this.getMaintenance(), version.getMaintenance())
        .doCompare(this.getQualifier().ordinal(), version.getQualifier().ordinal())
        .doCompare(this.getQualifierNumber(), version.getQualifierNumber())
        .getResult();
    }
docs: Compares this {@link Version} to the given {@link Version} to determine sort order, or order of precedence.
  
  In this case, the {@link Comparable#compareTo(Object)} method determines earlier and later
  {@link Version versions}.
  
  @param version given {@link Version} used in the comparison.
  @return an integer indicating the sort order, or order of predence.
  @see org.cp.elements.util.ComparatorResultBuilder
  @see #getMajor()
  @see #getMinor()
  @see #getMaintenance()
  @see #getQualifier()
  @see #getQualifierNumber()