code: def with_scopes_if_required(credentials, scopes):
      
      if isinstance(credentials, Scoped) and credentials.requires_scopes:
          return credentials.with_scopes(scopes)
      else:
          return credentials
docs: Creates a copy of the credentials with scopes if scoping is required.
  
      This helper function is useful when you do not know (or care to know) the
      specific type of credentials you are using (such as when you use
      :func:`google.auth.default`). This function will call
      :meth:`Scoped.with_scopes` if the credentials are scoped credentials and if
      the credentials require scoping. Otherwise, it will return the credentials
      as-is.
  
      Args:
          credentials (google.auth.credentials.Credentials): The credentials to
              scope if necessary.
          scopes (Sequence[str]): The list of scopes to use.
  
      Returns:
          google.auth.credentials.Credentials: Either a new set of scoped
              credentials, or the passed in credentials instance if no scoping
              was required.