Tests don't need to deal with these diagnostics, so the protected ctors (used by tests) create NullDiagnosticsSource to reduce the need for null checks everywhere.