make ValidationResult immutable