protected ProxyWrapperBase(IProxyWrapper parent, Func <T> createAction)
        {
            Parent    = parent;
            _children = new List <IProxyWrapper>();

            Parent?.RegisterChild(this);

            _comObject = createAction.Invoke();
        }
 /// <inheritdoc />
 public void UnregisterChild(IProxyWrapper child)
 {
     _children.Remove(child);
 }
 /// <inheritdoc />
 public void RegisterChild(IProxyWrapper child)
 {
     _children.Add(child);
 }