added Guard.That.Argument.IsNotNull