anchor.diff:  			nextLink := p.getLink();
   			link^.setNext(nextLink);
   			nextLink^.setPrev(link);
  +			m_begin.destroy();
   			m_begin := list_iterator.create(link);
   		end
   		else
  
positive.code: 	begin
  		new(link, create(0));
  		m_begin := list_iterator.create(link);
  		m_end   := list_iterator.create(link);
  	end;
  
  	destructor list.destroy();
  	begin
  		while not empty() do
  			erase(get_begin());
  		dispose(m_end.getLink());
  	end;
  
  	function list.get_begin(): list_iterator;
  	var
  		it: list_iterator;
  	begin
  		it := list_iterator.create(m_begin.m_link);
  		get_begin := it;
  	end;
  
  	function list.get_end(): list_iterator;
  	var
  		it: list_iterator;
  	begin
  		it := list_iterator.create(m_end.m_link);
  		get_end := it;
  	end;
  
  	procedure list.push_back(data: longInt);
  	begin
  		insert(get_end(), data);
  	end;
  
  	function list.pop_back(): longInt;
  
negative.code: 			index := index - 1;
  		end;
  		at := it.get_data();
  		it.destroy();
  	end;
  
  	function list.empty(): boolean;
  