'Determines the URL of a task given a relative URL and a name.
Args:
relative_url: The relative URL for the Task.
Returns:
Tuple (default_url, relative_url, query) where:
default_url: True if this Task is using the default URL scheme;
False otherwise.
relative_url: String containing the relative URL for this Task.
query: The query string for this task.
Raises:
InvalidUrlError if the relative_url is invalid.'

@staticmethod
def __determine_url(relative_url):

    if (not relative_url):
        (default_url, query) = (True, '')
    else:
        default_url = False
        try:
            (relative_url, query) = _parse_relative_url(relative_url)
        except _RelativeUrlError as e:
            raise InvalidUrlError(e)
    if (len(relative_url) > MAX_URL_LENGTH):
        raise InvalidUrlError(('Task    URL    must    be    less    than    %d    characters;    found    %d' % (MAX_URL_LENGTH, len(relative_url))))
    return (default_url, relative_url, query)
