docs: def ValidateAccessAndSubjects(requested_access, subjects):
    """Does basic requested access validation.
  
    Args:
      requested_access: String consisting or 'r', 'w' and 'q' characters.
      subjects: A list of subjects that are about to be accessed with a given
        requested_access. Used for logging purposes only.
  
    Returns:
      True if requested_access is valid.
  
    Raises:
      access_control.UnauthorizedAccess: if requested_access is not valid.
      ValueError: if subjects list is empty.
    """
  
    if not requested_access:
      raise access_control.UnauthorizedAccess(
          "Must specify requested access type for %s" % subjects)
  
    for s in requested_access:
      if s not in "rwq":
        raise ValueError(
            "Invalid access requested for %s: %s" % (subjects, requested_access))
  
    if "q" in requested_access and "r" not in requested_access:
      raise access_control.UnauthorizedAccess(
          "Invalid access request: query permissions require read permissions "
          "for %s" % subjects,
          requested_access=requested_access)
  
    return True