Retrieves that highest known functional microversion for features

def get_microversion_for_features(service, features, wrapper_class,
                                  min_ver, max_ver):
    """Retrieves that highest known functional microversion for features"""
    feature_versions = get_requested_versions(service, features)
    if not feature_versions:
        return None

    for version in feature_versions:
        microversion = wrapper_class(version)
        if microversion.matches(min_ver, max_ver):
            return microversion
    return None