public class GesorteerdeLijst extends List
{
	public GesorteerdeLijst()
	{
		super("gesorteerdeLijst");
	}
	
	public synchronized void toevoegen ( String naam)
	{
		if (isEmpty())
			insterAtFront(naam);
		else
		{
			ListNode currentNode = getFirstNode();
			listNode previousNode = null;
			while (currentNode != null && naam.compareTo(currentNode.getData()) > 0)
			{
				previousNode = currentNode;
				currentNode = currentNode.getNext();
			}
			if (currentNode == getNode())
				insertAtFront(naam);
			else if (currentNode == null)
				insertAtBack(naam);
			else
			{
				ListNode nieuweNode = new ListNode(naam, null);
				previousNode.setNext(nieuweNode);
				nieuweNode.setNext(currentNode);
			}
		}
	}
	
	public synchronized String verwijderen(String naam)
	{
		if (isEmpty())
			throw new EmptyListExeption(naam);
		
		ListNode currentNode = getFirstNode();
		ListNode previousNode = null;
		int cijfer = 0;
		String naamGewist;
		while (currentNode != null)
		{
			cijfer = naam.compareTo(currentNode.getData());
			if (cijfer > 0)
			{
				previousNode = currentNode;
				currentNode = currentNode.getNext();
			}
			else
				break;
		}
		
		if (cijfer != 0)
			return "de naa komt niet voor";
		
		if (currentNode == getFirstNode())
			naamGewist = (String) removeFromFront();
		else if (currentNode == getLastNode())
			naamGewist = (String) removeFromBack();
		else
		{
			naamGewist = (String) currentNode.getData();
			previous.setNext(currentNode.getNext());
		}
		return naamGewist;
	}
	

}
