o prevent modifying the object in-place in the cache store. The
canonical way to do this is to create a <code>deepcopy</code> method on all nested types.
We created a tool <a href=https://github.com/istio/tools/tree/master/cmd/protoc-gen-deepcopy>protoc deep copy
generator</a>
which is a <code>protoc</code> plugin and can automatically create <code>deepcopy</code> method
based on annotations using the Proto library utility <a href=https://godoc.org/github.com/golang/protobuf/proto#Clone>Proto
Clone</a>. Her