public function getHiddenField($name)
    {
        $data = null;

        if (isset($this->hidden_fields[$name])) {
            // Get value of a hidden field we've already unserialized after
            // processing this form.
            $data = $this->hidden_fields[$name];
        } elseif (!$this->processed && $this->isSubmitted()) {
            // Otherwise, make sure this form was processed and get hidden
            // field from raw form data.
            $raw_data = $this->getFormData();
            $serialized_field_name = self::SERIALIZED_PREFIX . $name;
            if (isset($raw_data[$serialized_field_name])) {
                $data = $this->unserializeHiddenField(
                    $raw_data[$serialized_field_name]
                );
            }
        }

        return $data;
    }