 
     //--------------------------------------------------------------------------
     //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+    private var currentValidationResults: Array = [];
+
+    //--------------------------------------------------------------------------
+    //
     //  Properties
     //
     //--------------------------------------------------------------------------

                    currentServerValidationValue = null;
                    var event: ValidationEvent;
                    if (error) {
                        event = new ValidationEvent(ValidationEvent.INVALID, [new ValidationResult(true, error.message)]);
                    } else {
                        event = new ValidationEvent(ValidationEvent.VALID);
                    }
                    if (!silentValidation || event.type == ValidationEvent.VALID) {


            if (results && results.length > 0) {
                event = new ValidationEvent(ValidationEvent.INVALID, results);
                currentValidationResults = results;
            } else {
                if (supportsServerValidation) {
                    if (currentValidationResults && currentValidationResults.length > 0) {
                        event = new ValidationEvent(ValidationEvent.INVALID, currentValidationResults);
                    } else {
                        event = new ValidationEvent(ValidationEvent.VALID);
                    }
                    DelayUtil.stretchToTimeout(200, validateOnServerIfRequired, value, silentValidation);
                } else {
                    event = new ValidationEvent(ValidationEvent.VALID);
                    currentValidationResults.length = 0;
                }
            }
        }
        else {
