whole_func_string: function clone(obj) {
    var cloned = {};
    for (var i in obj) {
      if (obj.hasOwnProperty(i)) {
        cloned[i] = obj[i];
      }
    }
    return cloned;
  }
func_code_string: function clone(obj) {
    var cloned = {};
    for (var i in obj) {
      if (obj.hasOwnProperty(i)) {
        cloned[i] = obj[i];
      }
    }
    return cloned;
  }
func_documentation_string: TODO:
  - keep map of nested key paths to prevent looping all the time
  - add more features from original jsonj
   
  Clone an object
  @param {object} obj
  @returns {object}