anchor.diff:          if (isArray(arguments.object) && arrayLen(arguments.object)) {
               depth++;
               for (var i=1; i<=arrayLen(arguments.object);i++) {
  -                arguments.object[i] = this.$preJSONSerialize(arguments.object[i], depth);
  +                arguments.object[i] = this.$objectSanitizer(arguments.object[i], depth);
               }
           } else {
               var keyList = structKeyArray(arguments.object);
  
positive.code:     }
  
  
      public function $preJSONSerialize(object, depth=1) {
          if (depth >= 7) {
              return arguments.object;
          }
  
negative.code:         return arguments.object;
      }
  
      /**
      * @hint override renderWith, and if configured or specifically requested, remove fields from Models
      */
      public function renderWith(required any data, string controller, string action, string template, any layout, any cache, string returnAs, boolean hideDebugInformation, boolean sanitize) {
          isSanitizedRequired = False;
          try {
              isSanitizedRequired = get(functionName="renderWith", name="sanitize");
          } catch(any e) {}
  
          if (structKeyExists(arguments, "sanitize") && arguments.sanitize || !structKeyExists(arguments, "sanitize") && isSanitizedRequired) {
              arguments.data = this.$objectSanitizer(arguments.data);
          }
          return core.renderWith(argumentCollection=arguments);
      }
  