docs: function addToJSONRecursively(contextNames, data, obj) {
          var currentContexName = contextNames.shift();
  
          // last name
          if (!contextNames.length) {
              obj[currentContexName] = data;
              return;
          }
  
          if (!obj[currentContexName]) {
              obj[currentContexName] = {};
          }
  
          addToJSONRecursively(contextNames, data, obj[currentContexName]);
      }