# OrleansGeneratedCodeHelper.GetOptionalCopier(IDeepCopier&lt;T&gt;)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.generatedcodehelpers.orleansgeneratedcodehelper/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.generatedcodehelpers.orleansgeneratedcodehelper/methods/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/GeneratedCodeHelpers/OrleansGeneratedCodeHelper.cs#L146)

```csharp
public static IDeepCopier<T> GetOptionalCopier<T>(IDeepCopier<T> copier)
```

Returns the provided copier if it's not shallow-copyable.

### Parameters

- `copier` (`IDeepCopier<T>`)
