anchor.diff:  		new(link, create(data));
   		if empty() then
   		begin
  -			writeln('empty');
   			m_begin := list_iterator.create(link);
   			m_begin.getLink()^.setNext(m_end.getLink());
   			m_end.getLink()^.setPrev(m_begin.getLink());
  
positive.code: 
  		if p.equal(m_begin) then
  		begin
  			writeln('begin');
  			nextLink := p.getLink();
  			link^.setNext(nextLink);
  			nextLink^.setPrev(link);
  		end
  		else
  		begin
  			writeln('no begin');
  			nextLink := p.getLink();
  			p.prev();
  			prevLink := p.getLink();
  			link^.setNext(nextLink);
  			nextLink^.setPrev(link);
  			link^.setPrev(prevLink);
  			prevLink^.setNext(link);
  		end;
  	end;
  
  	procedure list.erase(p: list_iterator);
  	var
  		nextLink, prevLink: pLink;
  	begin
  		if p.equal(m_end) then
  			exit();
  
  		if p.equal(m_begin) then
  		begin
  			p.next();
  			nextLink := p.getLink();
  			dispose(m_begin.getLink());
  			m_begin := list_iterator.create(nextLink);
  		end
  		else
  		begin
  			p.next();
  			nextLink := p.getLink();
  			p.prev();
  			p.prev();
  			prevLink := p.getLink();
  			p.next();
  			dispose(p.getLink());
  			nextLink^.setPrev(prevLink);
  			prevLink^.setNext(nextLink);
  		end;
  
negative.code: 		it: list_iterator;
  		tmp: longInt;
  	begin
  		it := get_end();
  		it.prev();
  		tmp := it.get_data();
  		erase(it);
  