/**
* Container for api results.
+ *
+ * The Result object has three functions:
+ *
+ * 1. Store the results of the API call (accessible via ArrayAccess).
+ * 2. Store metadata like the Entity & Action names.
+ * - Note: some actions extend the Result object to store extra metadata.
+ * For example, BasicReplaceAction returns ReplaceResult which includes the additional $deleted property to list any items deleted by the operation.
+ * 3. Provide convenience methods like `$result->first()` and `$result->indexBy($field)`.
*/
class Result extends \ArrayObject {
/**