'node_context is an option to specify a second context for use cases
like the class mro where the parent class of a new name would be the
context, but for some type inference it\'s important to have a local
context of the other classes.'

def __init__(self, evaluator, context, node_context=None, until_position=None, origin_scope=None):

    if (node_context is None):
        node_context = context
    super(ParserTreeFilter, self).__init__(context, node_context.tree_node)
    self._node_context = node_context
    self._origin_scope = origin_scope
    self._until_position = until_position
