docs: def find_replace(obj, find, replace):
      """ Searches an object and performs a find and replace.
  
      Args:
          obj (object): The object to iterate and find/replace.
          find (str): The string to search for.
          replace (str): The string to replace with.
      Returns:
          object: The object with replaced strings.
  
      """
      try:
          if isinstance(obj, dict):
              return {find_replace(key,find,replace): find_replace(value,find,replace) for key, value in obj.items()}
          elif isinstance(obj, list):
              return [find_replace(element,find,replace) for element in obj]
          elif obj == find:
              return unicode_convert(replace)
          else:
              try:
                  return unicode_convert(find_replace_string(obj, find, replace))
                  #obj = unicode_convert(json.loads(obj))
                  #return find_replace(obj,find,replace)
              except:
                  return unicode_convert(obj)
      except:
          line, filename, synerror = trace()
          raise ArcRestHelperError({
                      "function": "find_replace",
                      "line": line,
                      "filename":  filename,
                      "synerror": synerror,
                                      }
                                      )
      finally:
          pass