anchor.diff:  			try {
   		        local.ba8 = newByte(8);
   		        local.ba16 = newByte(16);
  -		        CryptoHelper.copyByteArray(local.ba8, local.ba16, len(local.ba16));
  +		        CryptoHelper.copyByteArray(local.ba8, local.ba16, arrayLen(local.ba16));
   		        fail("");
   			} catch (java.lang.ArrayIndexOutOfBoundsException e) {
   				// expected
  
positive.code: 	</cffunction>
  
  
  	<cffunction access="private" returntype="void" name="fillByteArray" output="false">
  		<cfargument type="binary" name="ba" required="true">
  		<cfargument type="String" name="b" required="true">
  		<cfscript>
  	        for (local.i = 1; local.i <= len(arguments.ba); local.i++) {
  	        	// TODO: CF does not allow us to modify the binary object - need workaround
  	            arguments.ba[local.i] = asc(arguments.b);
  	        }
      	</cfscript>
  	</cffunction>
  
  
negative.code: 	<cffunction access="public" returntype="void" name="testCopyByteArraySunnyDay" output="false">
  		<cfscript>
  	        local.src = newByte(20);
  	        local.src = fillByteArray(local.src, 'A');
  	        local.dest = newByte(20);
  	        local.dest = fillByteArray(local.dest, 'B');
  	        CryptoHelper.copyByteArray(local.src, local.dest);
  	        assertTrue(checkByteArray(local.src, 'A')); // Still filled with 'A'
  	        assertTrue(checkByteArray(local.dest, 'A')); // Now filled with 'B'
  