public function as_array()
        {
            if (func_num_args() === 0) {
                return $this->_data;
            }

            $args = func_get_args();

            return array_intersect_key(
                $this->_data,
                array_flip($args)
            );
        }