public IContextBundle Copy(IPermissionsProvider permissionsProvider = null,
                            IImmutableErrorContext errorContext      = null,
                            ITypeAccessProvider accessProvider       = null,
                            ITranslationProvider translationProvider = null,
                            IValidationProvider validationProvider   = null,
                            ILogProvider logProvider    = null,
                            Visibility?visibility       = null,
                            Visibility?timingVisibility = null)
 {
     return(new ContextBundle(permissionsProvider ?? this.permissionsProvider,
                              errorContext ?? this.errorContext,
                              accessProvider ?? this.accessProvider,
                              translationProvider ?? this.translationProvider,
                              validationProvider ?? this.validationProvider,
                              logProvider ?? this.logProvider,
                              visibility ?? this.visibility,
                              timingVisibility ?? this.timingVisibility));
 }
 public IContextBundle Copy(IPermissionsProvider permissionsProvider = null,
                            IImmutableErrorContext errorContext = null,
                            ITypeAccessProvider accessProvider = null,
                            ITranslationProvider translationProvider = null,
                            IValidationProvider validationProvider = null,
                            ILogProvider logProvider = null,
                            Visibility? visibility  = null,
                            Visibility? timingVisibility = null)
 {
     return new ContextBundle(permissionsProvider ?? this.permissionsProvider,
                              errorContext ?? this.errorContext,
                              accessProvider ?? this.accessProvider,
                              translationProvider ?? this.translationProvider,
                              validationProvider ?? this.validationProvider,
                              logProvider ?? this.logProvider,
                              visibility ?? this.visibility,
                              timingVisibility ?? this.timingVisibility);
 }
 public ContextBundle(IPermissionsProvider permissionsProvider = null,
                      IImmutableErrorContext errorContext      = null,
                      ITypeAccessProvider accessProvider       = null,
                      ITranslationProvider translationProvider = null,
                      IValidationProvider validationProvider   = null,
                      ILogProvider logProvider    = null,
                      Visibility visibility       = Visibility.None,
                      Visibility timingVisibility = Visibility.None)
 {
     this.permissionsProvider = permissionsProvider ?? PermissionsProvider.Default;
     this.errorContext        = errorContext ?? ImmutableErrorContext.Empty;
     this.accessProvider      = accessProvider ?? TypeAccessProvider.Empty;
     this.translationProvider = translationProvider ?? TranslationProvider.Empty;
     this.validationProvider  = validationProvider ?? ValidationProvider.Empty;
     this.logProvider         = logProvider ?? LogProvider.Default;
     this.visibility          = visibility;
     this.timingVisibility    = timingVisibility;
 }
 public ContextBundle(IPermissionsProvider permissionsProvider = null, 
                      IImmutableErrorContext errorContext = null, 
                      ITypeAccessProvider accessProvider = null,
                      ITranslationProvider translationProvider = null, 
                      IValidationProvider validationProvider = null,
                      ILogProvider logProvider = null,
                      Visibility visibility = Visibility.None,
                      Visibility timingVisibility = Visibility.None)
 {
     this.permissionsProvider = permissionsProvider ?? PermissionsProvider.Default;
     this.errorContext = errorContext ?? ImmutableErrorContext.Empty;
     this.accessProvider = accessProvider ?? TypeAccessProvider.Empty;
     this.translationProvider = translationProvider ?? TranslationProvider.Empty;
     this.validationProvider = validationProvider ?? ValidationProvider.Empty;
     this.logProvider = logProvider ?? LogProvider.Default;
     this.visibility = visibility;
     this.timingVisibility = timingVisibility;
 }