lib/template.js
function(){
	var leftIndex = this._rawString.indexOf('<{'),
        rightIndex = this._rawString.indexOf('}>'),
		expression,tag,lineStart,tagSplit;
		
	if(leftIndex > -1){
		
		this._leftCount++;
		if(rightIndex > -1){
			expression = this._rawString.slice(leftIndex + 2, rightIndex);
			this._document.push( new _String(this, this._rawString.slice(0,leftIndex) ) );
            this._rawString = this._rawString.slice(rightIndex + 2);
			if(expression.charAt(0) === ' '){ 
				Utilities.warning(this,'Invalid whitespace at the start of expression');
			}
			else{
				tag = expression.split(' ')[0].toLowerCase();
				lineStart = Utilities.getLineCount(this);
				tagSplit = tag.split('.')[0];
				expression = typeof allPlugins[this._tagDelegation[tagSplit]] !== "undefined" ? allPlugins[this._tagDelegation[tagSplit]].handleToken(this, expression, tag) : Utilities.parseType(this, expression);
				
				if(typeof expression.skip === "undefined" || expression.skip === false){
					
					expression.lineStart = lineStart;
					this._document.push(expression);
					expression.needs = expression.needs || {};
					
				}
			}
		}
		else{
			this._rawString = this._rawString.slice(leftIndex + 2);
			Utilities.warning(this,'Open ended expression');
		}
	}
	else{
		if(this._rawString.length > 0){
			this._document.push(new _String(this, this._rawString ));
		}
		this._documentLength = this._document.length;
		delete this._rawString;
		tag = Utilities.stringOnly(this._document);
		if(tag.stringOnly){
			this._stringOnly = true;
			this._document = [new _String(this,tag.string)];
			this._documentLength = 1;
			this.needs = {};
		}
		this._templating = false;
		_createExecutionOrder.call(this,this._master);
	}
}
function(){
	var leftIndex = this._rawString.indexOf('<{'),
        rightIndex = this._rawString.indexOf('}>'),
		expression,tag,lineStart,tagSplit;
		
	if(leftIndex > -1){
		
		this._leftCount++;
		if(rightIndex > -1){
			expression = this._rawString.slice(leftIndex + 2, rightIndex);
			this._document.push( new _String(this, this._rawString.slice(0,leftIndex) ) );
            this._rawString = this._rawString.slice(rightIndex + 2);
			if(expression.charAt(0) === ' '){ 
				Utilities.warning(this,'Invalid whitespace at the start of expression');
			}
			else{
				tag = expression.split(' ')[0].toLowerCase();
				lineStart = Utilities.getLineCount(this);
				tagSplit = tag.split('.')[0];
				expression = typeof allPlugins[this._tagDelegation[tagSplit]] !== "undefined" ? allPlugins[this._tagDelegation[tagSplit]].handleToken(this, expression, tag) : Utilities.parseType(this, expression);
				
				if(typeof expression.skip === "undefined" || expression.skip === false){
					
					expression.lineStart = lineStart;
					this._document.push(expression);
					expression.needs = expression.needs || {};
					
				}
			}
		}
		else{
			this._rawString = this._rawString.slice(leftIndex + 2);
			Utilities.warning(this,'Open ended expression');
		}
	}
	else{
		if(this._rawString.length > 0){
			this._document.push(new _String(this, this._rawString ));
		}
		this._documentLength = this._document.length;
		delete this._rawString;
		tag = Utilities.stringOnly(this._document);
		if(tag.stringOnly){
			this._stringOnly = true;
			this._document = [new _String(this,tag.string)];
			this._documentLength = 1;
			this.needs = {};
		}
		this._templating = false;
		_createExecutionOrder.call(this,this._master);
	}
}
--module--
name:_create - private method
description: creates the document list of the Template Class