public function getParam($key)
    {
        if (!$this->hasParam($key)) {
            return null;
        }

        $param = $this->getDefaultParams()[$key];
        $value = null;
        if (isset($this->_parameters[$key])) {
            $value = $this->_parameters[$key];

            if (!is_array($value) || !array_key_exists('value', $value)) {
                throw new MalformedParameterException(sprintf('Parameter %s is malformed.', $key));
            }
        }

        if (is_array($value) && isset($value['value'])) {
            $param['value'] = $value['value'];
        }

        return $param;
    }