# Class ProcessInstanceTreeItem OptimaJet.Workflow.Core.Entities.ProcessInstanceTreeItem Represents persisted process instance data used to reconstruct a [ProcessInstancesTree](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Subprocess/ProcessInstancesTree/) hierarchy. Namespace: [OptimaJet.Workflow.Core.Entities](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/) ```csharp public class ProcessInstanceTreeItem : IProcessInstanceTreeItem, IEntity ``` ## Type Hierarchy - ProcessInstanceTreeItem Current type - Implemented interfaces - [IEntity](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/IEntity/) - [IProcessInstanceTreeItem](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/IProcessInstanceTreeItem/) ## Properties `public Guid Id { get; set; }` Gets or sets the process instance identifier exposed by [ProcessInstance.ProcessId](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessInstance/). `public Guid? ParentProcessId { get; set; }` Gets or sets the identifier of the parent process instance exposed by [ProcessInstance.ParentProcessId](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessInstance/). `public Guid RootProcessId { get; set; }` Gets or sets the identifier of the root process instance exposed by [ProcessInstance.RootProcessId](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessInstance/). `public string StartingTransition { get; set; }` Gets or sets the name of the transition that started the subprocess, as recorded by [ProcessDefinition.StartingTransition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/). `public string SubprocessName { get; set; }` Gets or sets the persisted value exposed by [ProcessInstance.SubprocessName](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessInstance/). ## Methods `public object GetValue(string key)` Gets the value of the property identified by `key`. ### Parameters | Name | Type | Description | | --- | --- | --- | | `key` | `String` | The name of a supported public property declared by [ProcessInstanceTreeItem](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessInstanceTreeItem/). | ### Returns | Type | Description | | --- | --- | | `Object` | The property value identified by `key`. | ### Exceptions | Type | Description | | --- | --- | | `ColumnNotExistsException` | `key` does not identify a supported property. | `public void SetValue(string key, object value)` Sets the value of the property identified by `key`. ### Parameters | Name | Type | Description | | --- | --- | --- | | `key` | `String` | The name of a supported public property declared by [ProcessInstanceTreeItem](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessInstanceTreeItem/). | | `value` | `Object` | The value to assign to the property identified by `key`. | ### Exceptions | Type | Description | | --- | --- | | `ColumnNotExistsException` | `key` does not identify a supported property. | [Previous ProcessInstanceStatusEntity](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessInstanceStatusEntity/) [Next ProcessSchemeEntity](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Entities/ProcessSchemeEntity/)