# Class StateRecoverySubject
Namespace: [Aeon.Acquisition](Aeon.Acquisition.md)
Assembly: Aeon.Acquisition.dll
```csharp
public class StateRecoverySubject : SubjectBuilder, IExpressionBuilder, INamedElement where T : new()
```
#### Type Parameters
`T`
#### Inheritance
[object](https://learn.microsoft.com/dotnet/api/system.object) ←
ExpressionBuilder ←
VariableArgumentExpressionBuilder ←
SubjectExpressionBuilder ←
SubjectBuilder ←
[StateRecoverySubject](Aeon.Acquisition.StateRecoverySubject\-1.md)
#### Implements
IExpressionBuilder,
INamedElement
#### Inherited Members
SubjectBuilder.CreateSubject\(\),
SubjectBuilder.Build\(IEnumerable\),
SubjectExpressionBuilder.Name,
VariableArgumentExpressionBuilder.SetArgumentRange\(int, int\),
VariableArgumentExpressionBuilder.ArgumentRange,
ExpressionBuilder.Build\(IEnumerable\),
ExpressionBuilder.ToString\(\),
ExpressionBuilder.Unwrap\(ExpressionBuilder\),
ExpressionBuilder.GetWorkflowElement\(ExpressionBuilder\),
ExpressionBuilder.GetVisualizerElement\(ExpressionBuilder\),
ExpressionBuilder.GetVisualizerMappings\(ExpressionBuilder\),
ExpressionBuilder.FromWorkflowElement\(object, ElementCategory\),
ExpressionBuilder.GetElementDisplayName\(Type\),
ExpressionBuilder.GetElementDisplayName\(object\),
ExpressionBuilder.SelectMembers\(Expression, string\),
ExpressionBuilder.GetArgumentAccess\(IEnumerable, string\),
ExpressionBuilder.ArgumentRange,
[object.ToString\(\)](https://learn.microsoft.com/dotnet/api/system.object.tostring),
[object.Equals\(object\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\)),
[object.Equals\(object, object\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\-system\-object\)),
[object.ReferenceEquals\(object, object\)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals),
[object.GetHashCode\(\)](https://learn.microsoft.com/dotnet/api/system.object.gethashcode),
[object.GetType\(\)](https://learn.microsoft.com/dotnet/api/system.object.gettype),
[object.MemberwiseClone\(\)](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone)
## Methods
### CreateSubject\(\)
When overridden in a derived class, creates the shared subject.
```csharp
protected override ISubject CreateSubject()
```
#### Returns
ISubject
A new instance of .