                     element.position = position+start
                     element.complete = false
                 stack.push element
+                size_stack++
+                if size_stack > @max_size_stack
+                    return null
             return stack
 
         # Decide if we have to show a suggestion or a description

                
            # If we are in the middle of a function (text after the cursor - that is not an element in @char_breakers), we just show a description, not a suggestion
            result_non_white_char_after_cursor = @regex.get_first_non_white_char.exec(query_after_cursor)
            if result_non_white_char_after_cursor isnt null and not(result_non_white_char_after_cursor[1]?[0] of @char_breakers)
                result.status = 'break_and_look_for_description'
                @hide_suggestion()
            else
                result_last_char_is_white = @regex.last_char_is_white.exec(query_before_cursor)
                if result_last_char_is_white isnt null
                    result.status = 'break_and_look_for_description'
                    @hide_suggestion()

                                    type: 'separator'
                                    complete: true
                                    name: query.slice i, result_regex[0].length
                                size_stack++
                                if size_stack > @max_size_stack
                                    return null
                                element =
                                    type: null
                                    context: context
