public static function create(array $tokens, array $options = []) {
        HashMap::assert($tokens, 'tokens');

        $operation = SqlOperation::create($tokens);
        if ($operation !== SqlOperations::SELECT) return null;

        $query = implode('&', array_filter([
            self::createConditionals($tokens),
            self::createPagination($tokens, $options),
        ]));

        return $query;
    }