public static T GetOrThrowIfNull <T>([NotNull, NotNullIfNotNull("source")] this T?source, string argName, string?customErrorText = null, ClassTypeRequirement <T> _ = default) where T : class => source ?? throw ExceptionsHelper.ArgumentNotNull(argName, customErrorText);