public function getData($key = '', $index = null)
    {
        if ('' === $key) {
            return $this->data;
        }

        $default = null;

        if (isset($this->data[$key])) {
            if (is_null($index)) {
                return $this->data[$key];
            }
            $value = $this->data[$key];
            if (is_array($value)) {
                if (isset($value[$index])) {
                    return $value[$index];
                }

                return null;
            }

            return $default;
        }

        return $default;
    }