anchor.diff:  
   		var categoryObjects2 = new Array()
   
  +        var createAECached = {}
  +        AE.terms = {}
  +        createAECached.getTermsByCategory = function(iCategory, fnCallback) {
  +           var cachedTerms =  AE.terms[iCategory];
  +           if(cachedTerms == null) {
  +             createAE.getTermsByCategory(iCategory, function(myterms) {
  +                 AE.terms[iCategory] = myterms;
  +                 cachedTerms = myterms;
  +             });
  +           }
  +            fnCallback.apply(this, [cachedTerms]);
  +
  +        }
    		
   		function addRule() {
   				
  
positive.code: 					var spanId = newId + '.span';
  					//Element.remove(validValueField);
  					$(spanId).innerHTML="";
  					
  					createAE.getTermsByCategory($(categoryValueID).value, function(terms) {
  						                   
  
  							var newId = validValueField.id; 
  
negative.code: 																		
  																		var categoryValue = getCategoryValue(${ruleCount});
  																	//	alert (categoryValue);
  
                                                      createAECached.getTermsByCategory(categoryValue, function(terms) {
  						                   
  
  			
  