public void removeEntry(String firstColumnValue) {
		boolean removed=false;
		int rowNumber=0;
		for (int i = columns.size(); i < cells.size(); i+=columns.size()) {
			if(cells.get(i).getText().equals(firstColumnValue)){
				removed=true;
				rowNumber=i;
			}	
		}
		if(removed){
			int numberOfCells = cells.size();
			for (int i = rowNumber; i < numberOfCells-columns.size(); i++) {
				cells.put(i, cells.get(i+columns.size()));
			}
			for (int i = numberOfCells-1; i >= numberOfCells-columns.size(); i--) {
				cells.remove(i);
			}
			// Re-organise the table in the same order as it was before removing the entry:
			boolean orderedColumn=false;
			for (int i=0; i<columns.size(); i++){
				if(columns.get(i).getOrdered()){
					sortListEntries(i, columns.get(i).getReverseOrder());
					orderedColumn=true;
					break;
				}
			}
			// If no columns had been ordered, order it to default:
			if(!orderedColumn){
				sortListEntries(-1, false);
			}
			for (int i = 1; i < lines.size(); i++) {
				lines.get(i).setEndY(lines.get(i).getEndY()-rowHeight-(2*cellMargin));
			}
		}
	}