code: public static int compareWithBuildMetaData(VersionRegEx v1, VersionRegEx v2) {
          // throw NPE to comply with Comparable specification
          if (v1 == null) {
              throw new NullPointerException("v1 is null");
          } else if (v2 == null) {
              throw new NullPointerException("v2 is null");
          }
          return compare(v1, v2, true);
      }
docs: Compares two Versions with additionally considering the build meta data field if
  all other parts are equal. Note: This is <em>not</em> part of the semantic version
  specification.
  
  <p>
  Comparison of the build meta data parts happens exactly as for pre release
  identifiers. Considering of build meta data first kicks in if both versions are
  equal when using their natural order.
  </p>
  
  <p>
  This method fulfills the general contract for Java's {@link Comparator Comparators}
  and {@link Comparable Comparables}.
  </p>
  
  @param v1 The first version for comparison.
  @param v2 The second version for comparison.
  @return A value below 0 iff {@code v1 &lt; v2}, a value above 0 iff
  {@code v1 &gt; v2</tt> and 0 iff <tt>v1 = v2}.
  @throws NullPointerException If either parameter is null.
  @since 0.3.0