public Version nextBuildMetaData() {
        final String[] newBuildMetaData = incrementIdentifier(this.buildMetaDataParts);
        return new Version(this.major, this.minor, this.patch, this.preReleaseParts,
                newBuildMetaData);
    }
public Version nextBuildMetaData ( ) { final String [ ] newBuildMetaData = incrementIdentifier ( this . buildMetaDataParts ) ; return new Version ( this . major , this . minor , this . patch , this . preReleaseParts , newBuildMetaData ) ; }
Derives a new Version instance from this one by only incrementing the
build-meta-data identifier. All other fields remain the same.

<p>
The incrementation of the build-meta-data identifier behaves as follows:

<ul>
<li>In case the identifier is currently empty, it becomes "1" in the result.</li>
<li>If the identifier's last part is numeric, that last part will be incremented in
the result. <b>Leading 0's will be removed</b>.</li>
<li>If the last part is not numeric, the identifier is interpreted as
{@code identifier.0} which becomes {@code identifier.1} after increment.
</ul>
Examples:

<table summary="Build meta data incrementation behavior">
<tr>
<th>Version</th>
<th>After increment</th>
</tr>
<tr>
<td>1.2.3</td>
<td>1.2.3+1</td>
</tr>
<tr>
<td>1.2.3-pre.release</td>
<td>1.2.3-pre.release+1</td>
</tr>
<tr>
<td>1.2.3+foo</td>
<td>1.2.3+foo.1</td>
</tr>
<tr>
<td>1.2.3+foo.1</td>
<td>1.2.3+foo.2</td>
</tr>
</table>

@return The incremented Version.
@since 1.2.0