in TeamCity.ServiceMessages/Read/ServiceMessage.cs [12:18]
public ServiceMessage([NotNull] string name, [CanBeNull] string defaultValue = null, [CanBeNull] Dictionary<string, string> properties = null)
{
if (name == null) throw new ArgumentNullException(nameof(name));
Name = name;
DefaultValue = properties != null ? null : defaultValue;
_properties = properties ?? new Dictionary<string, string>();
}