public function offset_get_result($field)
    {
        $data_links = null;
        if (isset($this->links['*'])) {
            $data_links = $this->links['*'];
        } else if (isset($this->links[$field]['links'])) {
            $data_links = $this->links[$field]['links'];
        }

        $data_value = parent::offsetExists($field) ? parent::offsetGet($field) : null;

        if (is_array($data_value) && !empty($data_value)) {
            $collection = isset($this->headers['$collection']) ? $this->headers['$collection'] : null;
            $data_record = new Record(array(
                '$url' => $this->link_url($field),
                '$data' => $data_value,
                '$links' => $data_links,
                '$collection' => $collection
            ));
            $this->offsetSet($field, $data_record);
            return $data_record;
        }
        else if (!isset($data_value)) {
            // Find object within array by id
            $data = $this->getArrayCopy();
            foreach ($data as $data_val) {
                if (isset($data_val['id']) && $data_val['id'] === $field) {
                    $data_value = $data_val;
                    break;
                }
            }
        }

        return $data_value;
    }