private String parseTagComponent(Tokens tokens) {
		
		String currentToken = tokens.getNextToken();
		
		// keep parsing the file until we find the end of the component
		while(!EOF(currentToken) && !(compare(currentToken,"cfcomponent") == 0 && compare(tokens.getPreviousToken(),"/") == 0)) {

			currentToken = tokens.getNextToken();
			
			if(!EOF(currentToken) && inComment(tokens)) {
				
				if(isComment(tokens)) commentCount++;
				
				if(isEndComment(tokens)) commentCount--;
				
			} else if(!EOF(currentToken) && isFunctionBeginTag(currentToken,tokens.getPreviousToken())) {
				
				currentToken = parseTagFunction(tokens);
				
			}
			
		}
		
		return currentToken;
	}