'Return nodes in the given range.'

def range_nodes(self, lower, upper, bounds=(True, True)):

    if (self.root is None):
        return []
    op1 = (operator.le if bounds[0] else operator.lt)
    op2 = (operator.ge if bounds[1] else operator.gt)
    return self._range(lower, upper, op1, op2, self.root, [])
