public function getTypes()
    {
        if (is_string($this->type)) {
            $types = array($this->type);
        } elseif (is_array($this->type)) {
            $types = $this->type;
        } else {
            $types =  array();
        }

        $types = array_filter($types, array($this, 'isValidType'));

        return empty($types) ? array(self::ANY) : $types;
    }