# CollectionCopier&lt;T&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.collectioncopier-1/)

## DeepCopy(Collection&lt;T&gt;, CopyContext) {#deepcopy-system-collections-objectmodel-collection-t-orleans-serialization-cloni-f9e206c7}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.collectioncopier-1/methods/deepcopy-system-collections-objectmodel-collection-t-orleans-serialization-cloni-f9e206c7/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Codecs/CollectionCodec.cs#L185-L202)

```csharp
public Collection<T> DeepCopy(Collection<T> input, CopyContext context)
```

Creates a deep copy of the provided input.

### Parameters

- `input` (`Collection<T>`): The input.
- `context` (`CopyContext`): The context.

### Returns

A copy of `input`.

## DeepCopy(Collection&lt;T&gt;, Collection&lt;T&gt;, CopyContext) {#deepcopy-system-collections-objectmodel-collection-t-system-collections-objectmo-89bb0514}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.collectioncopier-1/methods/deepcopy-system-collections-objectmodel-collection-t-system-collections-objectmo-89bb0514/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Codecs/CollectionCodec.cs#L208-L214)

```csharp
public void DeepCopy(Collection<T> input, Collection<T> output, CopyContext context)
```

Clones members from `input` and copies them to `output`.

### Parameters

- `input` (`Collection<T>`): The input.
- `output` (`Collection<T>`): The output.
- `context` (`CopyContext`): The context.
