public object Clone() { ILogger log = logger; if (logger is ICloneable) { log = (ILogger)((ICloneable)logger).Clone(); } return(new Logger(name, log, config == null ? null : (ConfigSource)config.Clone())); }