private bool IsValid(float r, float g, float b)
{
ThrowIfDisposed();
return !Validating.GetInvocationList().Select(h => {
var check = new ColorValidationEventArgs(r, g, b);
h.DynamicInvoke(new object[] { this, check });
return !check.Valid;
}).Any(failed => failed);
}