code: def ValidateURL(url, column_name=None, problems=None):
    
    if IsEmpty(url) or IsValidURL(url):
      return True
    else:
      if problems:
        problems.InvalidValue(column_name, url)
      return False
docs: Validates a non-required URL value using IsValidURL():
      - if invalid adds InvalidValue error (if problems accumulator is provided)
      - an empty URL is considered valid and no error or warning is issued.