old_contents: # -*- coding: utf-8 -*-
  
  
  class BinarySearchTree(object):
    """Implements a basic binary search tree in Python.
  
    This BST does not do any kind of balancing, and thus can degenerate into a
    linked list in the worst case.
    """
  
    class _Node(object):
      """Represents a node in the binary search tree."""
  
      value = None
      left = None
      right = None
  
    root = None
    size = 0
  
    def __init__(self, data=None):
      """Creates a new binary search tree.
  
      Args:
        data: An optional tuple or list containing data to be inserted IN ORDER
        into the BST.  If not supplied, the BST is created empty.
      """
      for datum in (data or []):
        self.insert(datum)
  
new_contents: # -*- coding: utf-8 -*-
  
  
  class BinarySearchTree(object):
    """Implements a basic binary search tree in Python.
  
    This BST does not do any kind of balancing, and thus can degenerate into a
    linked list in the worst case.
    """
  
    class _Node(object):
      """Represents a node in the binary search tree."""
  
      value = None
      left = None
      right = None
  
    size = 0
  
    _root = None
  
    def __init__(self, data=None):
      """Creates a new binary search tree.
  
      Args:
        data: An optional tuple or list containing data to be inserted IN ORDER
        into the BST.  If not supplied, the BST is created empty.
      """
      for datum in (data or []):
        self.insert(datum)
  
subject: make root protected