'This is the search function. The most important part to debug.
`remove_statements` and `filter_statements` really are the core part of
this completion.
:param position: Position of the last statement -> tuple of line, column
:return: List of Names. Their parents are the types.'

def find_types(self, context, name_or_str, name_context, position=None, search_global=False, is_goto=False):

    f = finder.NameFinder(self, context, name_context, name_or_str, position)
    filters = f.get_filters(search_global)
    if is_goto:
        return f.filter_name(filters)
    return f.find(filters, attribute_lookup=(not search_global))
