anchor.diff:  					try {
   						// try root
   						ins = loaders[i].getResourceAsStream(arguments.fileName);
  -					
  +
   						// try .esapi folder
   						if(!isDefined("ins")) {
   							ins = currentLoader.getResourceAsStream(".esapi/" & arguments.fileName);
   						}
  -					
  +
   						// try resources folder
   						if(!isDefined("ins")) {
   							ins = currentLoader.getResourceAsStream("resources/" & arguments.fileName);
   						}
  -					
  +
   						// now load the properties
   						if(isDefined("ins")) {
   							result = newJava("java.util.Properties").init();
  
positive.code: 			}
  			return list.iterator();
  		</cfscript>
  		
  	</cffunction>
  	
  	<cffunction access="public" name="getValidationPattern" output="false" hint="getValidationPattern returns a single pattern based upon key">
  		<cfargument required="true" type="String" name="key" hint="validation pattern name you'd like"/>
  	
  		<cfscript>
  			// CF8 requires 'var' at the top
  			var pattern = "";
  		
  			var value = variables.properties.getProperty("Validator." & arguments.key);
  			if(!isDefined("value") || value == "")
  				return "";
  			pattern = newJava("java.util.regex.Pattern").compile(value);
  			return pattern;
  		</cfscript>
  		
  	</cffunction>
  	
  	<cffunction access="private" name="loadPropertiesFromStream" output="false">
  		<cfargument required="true" name="is"/>
  		<cfargument required="true" type="String" name="name"/>
  	
  		<cfscript>
  			var config = newJava("java.util.Properties").init();
  			try {
  
negative.code: 		variables.MAX_LOG_FILE_SIZE = "MaxLogFileSize";
  		variables.LOG_ENCODING_REQUIRED = "LogEncodingRequired";
  		variables.LOG_DEFAULT_LOG4J = "LogDefaultLog4J";
  
  		//protected
  		variables.MAX_REDIRECT_LOCATION = 1000;
  		variables.MAX_FILE_NAME_LENGTH = 1000;
  
  		/**
  		 * Load properties from properties file. Set this with setResourceDirectory
  		 * from your web application or ESAPI filter. For test and non-web
  