@Override public boolean allowedThisManyValues(final int count) {
        if(count == 0 && !hasValue())
        {
            return true;
        }
        else if(count == 1 && hasValue() && !isMultiValued())
        {
            return true;
        }
        else if(isMultiValued() && hasExactCount())
        {
            return count == exactly();
        }
        else if(isMultiValued())
        {
            return minimum() <= count && count <= maximum();
        }
        return false;
    }