Hi, I would like to request a util to deep copy an Array with the following semantic. ``` Result<shared_ptr<ArrayData>> DeepCopyArrayData(const ArrayData& arr, int64 offset = 0, int64 length = -1/*, pool=...*/); ``` This was discussed some time back in Zulip [1]. [1] <https://ursalabs.zulipchat.com/#narrow/stream/180245-dev/topic/create.20a.20deep.20copy.20of.20buffers> **Reporter**: [Niranda Perera](https://issues.apache.org/jira/browse/ARROW-14982) / @nirandaperera #### Related issues: - [[Python] Pickling a sliced array serializes all the buffers](https://github.com/apache/arrow/issues/26685) (relates to) - [[Python] Make self_destruct and RecordBatchReader work better together](https://github.com/apache/arrow/issues/26623) (relates to) <sub>**Note**: *This issue was originally created as [ARROW-14982](https://issues.apache.org/jira/browse/ARROW-14982). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*</sub>