private void ensureUnspecifiedOnlyToTheRight(Object... objects) {
        boolean restMustBeNull=false;
        for (Object o : objects) {
            if (restMustBeNull && o!=null)
                throw new IllegalArgumentException("A component to the left of a specified is unspecified in " + this);
            if (o==null)
                restMustBeNull=true;
        }
    }
Must be called on construction after the component values are set

@throws IllegalArgumentException If the numerical components are negative
        or the qualifier string is invalid.
component/src/main/java/com/yahoo/component/VersionSpecification.java