public ChildViewModelWithChildren(IViewModelPresenter viewModelPresenter, IDatabase database, IChildViewModelSimple simple, IChildViewModelWithMainViewModel childWithMainViewModel)
 {
     ViewModelPresenter     = viewModelPresenter;
     Database               = database;
     Simple                 = simple;
     ChildWithMainViewModel = childWithMainViewModel;
 }
 public MainViewModel1(IViewModelPresenter viewModelPresenter, IDatabase database, ITwoVariants oneVariant, IChildViewModelSimple simple, IChildViewModelWithChildren withChildren,
                       Func <IChildViewModelSimple> childResolver)
 {
     ViewModelPresenter = viewModelPresenter;
     Database           = database;
     OneVariant         = oneVariant;
     Simple             = simple;
     WithChildren       = withChildren;
     ChildResolver      = childResolver;
 }
 public MainViewModel2(IViewModelPresenter viewModelPresenter, IDatabase database, IChildViewModelSimple simple)
 {
     ViewModelPresenter = viewModelPresenter;
     Database           = database;
     Simple             = simple;
 }