# ProtobufCodec.DeepCopy(object?, CopyContext)

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

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Serializers/Orleans.Serialization.Protobuf/ProtobufCodec.cs#L48-L65)

```csharp
public object? DeepCopy(object? input, CopyContext context)
```

Creates a deep copy of the provided untyped input. The type must still match the copier instance!

### Parameters

- `input` (`object?`)
- `context` (`CopyContext`)
