private function validate($uri)
    {
        try {
            // set to false as default
            $validate = [];

            // check if there is the marker vor a special validation and or a / for complex routing
            if (strpos($uri, self::VALIDATION_PREFIX) === false && strpos($uri, $this->getDelimiter()) === false) {
                return false;
            }

            $parts = explode($this->_delimiter, $uri);
            for ($i = 0, $c = count($parts); $i < $c; $i++) {
                if (empty($parts[$i])) {
                    continue;
                } elseif ((strpos($parts[$i], self::VALIDATION_PREFIX)) === false) { // if there's no placeholder in use for a specific type
                    $this->urlPart[] = $parts[$i];
                    continue;
                }

                // this is an option to map "polymorph" [differnt types differnt classes / methods]
                $this->urlPart[] = $parts[$i];
                // position within the route to be validated
                $validate[]     = new Validator($parts[$i]);
                $this->validate = true;
            }
            unset($parts, $c, $i, $uri);
        } catch (RouteException $e) {
            throw $e;
        }

        return $validate;
    }