public static function createFromTokens(array $tokens, $apiUrl, DataSource $annotation = null) {
        $id    = Identifier::create($tokens);
        $route = empty($annotation) || $annotation->getRoute() === null ? Table::create($tokens) : $annotation->getRoute();

        return self::create($route, $apiUrl, $id);
    }
public static function createFromTokens(array $tokens, $apiUrl, DataSource $annotation = null) {
        $id    = Identifier::create($tokens);
        $route = empty($annotation) || $annotation->getRoute() === null ? Table::create($tokens) : $annotation->getRoute();

        return self::create($route, $apiUrl, $id);
    }
public static function createFromTokens ( array $ tokens , $ apiUrl , DataSource $ annotation = null ) { $ id = Identifier :: create ( $ tokens ) ; $ route = empty ( $ annotation ) || $ annotation -> getRoute ( ) === null ? Table :: create ( $ tokens ) : $ annotation -> getRoute ( ) ; return self :: create ( $ route , $ apiUrl , $ id ) ; }
returns an url depending on the given tokens

@param  array      $tokens
@param  string     $apiUrl
@param  DataSource $annotation
@return string

@SuppressWarnings("PHPMD.StaticAccess")
returns an url depending on the given tokens