These two keep calling each other in my project.
LayoutAnchorable.cs (This is a change that was made between 2.0 and 2.1)
```
public override void Close()
{
var dockingManager = this.Root.Manager;
if( ( this.Root != null ) && ( this.Root.Manager != null ) )
dockingManager._ExecuteCloseCommand( this );
}
```
( If nothing else, the null checks after "= this.Root.Manager" do not make much sense)
DockingManager.cs
```
internal void _ExecuteCloseCommand(LayoutAnchorable anchorable)
{
var model = anchorable as LayoutAnchorable;
if (model != null && model.TestCanClose())
{
if (model.IsAutoHidden)
model.ToggleAutoHide();
model.Close();
return;
}
}
```
LayoutAnchorable.cs (This is a change that was made between 2.0 and 2.1)
```
public override void Close()
{
var dockingManager = this.Root.Manager;
if( ( this.Root != null ) && ( this.Root.Manager != null ) )
dockingManager._ExecuteCloseCommand( this );
}
```
( If nothing else, the null checks after "= this.Root.Manager" do not make much sense)
DockingManager.cs
```
internal void _ExecuteCloseCommand(LayoutAnchorable anchorable)
{
var model = anchorable as LayoutAnchorable;
if (model != null && model.TestCanClose())
{
if (model.IsAutoHidden)
model.ToggleAutoHide();
model.Close();
return;
}
}
```