| 
					
				 | 
			
			
				@@ -143,6 +143,10 @@ proto.populate = function populate() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		this.documents.push(doc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	this.vSortKeyFPEs = this.vSortKey.map(function(aSortKey){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return new FieldPathExpression(aSortKey.getFieldPath(false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* sort the list */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	this.documents.sort(SortDocumentSource.prototype.compare.bind(this)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -173,7 +177,7 @@ proto.compare = function compare(pL,pR) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var n = this.vSortKey.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	for(var i = 0; i < n; ++i) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		/* evaluate the sort keys */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		var pathExpr = new FieldPathExpression(this.vSortKey[i].getFieldPath(false)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var pathExpr = this.vSortKeyFPEs[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var left = pathExpr.evaluate(pL), right = pathExpr.evaluate(pR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		/* 
			 |