code: int insert(int element, Envelope2D bounding_box) {
  		if (m_root == -1)
  			create_root_();
  
  		if (m_b_store_duplicates) {
  			int success = insert_duplicates_(element, bounding_box, 0, m_extent, m_root, false, -1);
  
  			if (success != -1) {
  				if (m_data_extent.isEmpty())
  					m_data_extent.setCoords(bounding_box);
  				else
  					m_data_extent.merge(bounding_box);
  			}
  
  			return success;
  		}
  
  		int element_handle = insert_(element, bounding_box, 0, m_extent, m_root, false, -1);
  
  		if (element_handle != -1) {
  			if (m_data_extent.isEmpty())
  				m_data_extent.setCoords(bounding_box);
  			else
  				m_data_extent.merge(bounding_box);
  		}
  
  		return element_handle;
  	}
docs: Inserts the element and bounding_box into the Quad_tree_impl.
  Note that this will invalidate any active iterator on the Quad_tree_impl.
  Returns an Element_handle corresponding to the element and bounding_box.
  \param element The element of the Geometry to be inserted.
  \param bounding_box The bounding_box of the Geometry to be inserted.