protected function normalize()
    {
        $val = $this->base['value'];

        if ($val) {
            switch ($this->base['return_format']) {
                case 'array':
                    $this->atId          = $val['ID'];
                    $this->atUrl         = $val['url'];
                    $this->atTitle       = $val['title'];
                    $this->atCaption     = $val['caption'];
                    $this->atDescription = $val['description'];
                    break;

                case 'id':
                    $atch = get_post($val);

                    $this->atId          = $val;
                    $this->atUrl         = wp_get_attachment_url($val);
                    $this->atTitle       = $atch->post_title;
                    $this->atCaption     = $atch->post_excerpt;
                    $this->atDescription = $atch->description;
                    break;

                case 'url':
                    $this->atId          = '';
                    $this->atUrl         = $this->base['value'];
                    $this->atTitle       = '';
                    $this->atCaption     = '';
                    $this->atDescription = '';
                    break;

                default:
                    throw new Exception("Field format {$this->base['return_format']} not valid");
            }
        } else {
            $this->atId          = '';
            $this->atUrl         = '';
            $this->atTitle       = '';
            $this->atCaption     = '';
            $this->atDescription = '';
        }
    }