public static VersionSpecification fromString(String versionString) {
        if (versionString == null) {
            return emptyVersionSpecification;
        } else {
            return new VersionSpecification(versionString);
        }
    }
Creates a version specification from the specified string.

<p>
VersionSpecification strings follows this grammar (same as Osgi versions):

<pre>
version ::= major('.'minor('.'micro('.'qualifier)?)?)?
major ::= digit+
minor ::= digit+
micro ::= digit+
qualifier ::= (alpha|digit|'_'|'-')+
digit ::= [0..9]
alpha ::= [a..zA..Z]
</pre>

@param versionString String representation of the version specification
@throws IllegalArgumentException If <code>version</code> is improperly
        formatted.
component/src/main/java/com/yahoo/component/VersionSpecification.java