Here you can find the source of addSibling(k, v)
Object.prototype.addSibling = function(k, v) { if (typeof this[k] === 'undefined') this[k] = v; return this[k]; }
Object.prototype.setDefault = function(key, value) { if (!this.hasOwnProperty(key)) { this[key] = value; return this[key]; };