# IDocumentParent interface

Namespace: [Grasshopper2.Doc](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.doc.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public interface IDocumentParent
```

Implement this interface in your [IDocumentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject.md) type in order to host another document inside it. For example [Chain](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.standard.chain.md) and [Cluster](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.standard.cluster.md) objects are document parents.

**Derived types:** [Chain](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.standard.chain.md), [Cluster](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.standard.cluster.md)

## Properties

- [ParentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentparent/parentobject.md): Gets the IDocumentObject cast of this type. This property may return null if the type implementing this interface does not also implement IDocumentObject, but that would be quite weird.

## Methods

- [ResolveGlobal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentparent/resolveglobal.md): Resolve a request for a globally available data tree through this object. This method is called then a global resolution _within_ the child document fails.
