function(index) {
		if (!_.isNumber(index) || isNaN(index)) index = 0;
		if (index < 0) return this.getAllModels()[~index];

		var model = this;
		
		while (index && model) {
			model = model.parent;
			index--;
		}
		
		return model;
	}
function(index) {
		if (!_.isNumber(index) || isNaN(index)) index = 0;
		if (index < 0) return this.getAllModels()[~index];

		var model = this;
		
		while (index && model) {
			model = model.parent;
			index--;
		}
		
		return model;
	}
function ( index ) { if ( ! _ . isNumber ( index ) || isNaN ( index ) ) index = 0 ; if ( index < 0 ) return this . getAllModels ( ) [ ~ index ] ; var model = this ; while ( index && model ) { model = model . parent ; index -- ; } return model ; }
gets the model in the stack at the index negative values start at root
gets the model in the stack at the index negative values start at root