protected List addShiftedItems(String symbol, Hashtable originatorEntries)	{
		List list = new ArrayList();
		for (Enumeration e = originatorEntries.elements(); e.hasMoreElements(); )	{
			RuleStateItem item = (RuleStateItem) e.nextElement();
			String pending = item.getPendingSymbol();
			
			if (pending != null && symbol.equals(pending))	{
				RuleStateItem newitem = item.shift();
				this.entries.put(newitem, newitem);
				list.add(new Tuple(item, newitem));	// return all derived originator items
			}
		}
		
		kernels = list.size();	// remember count of kernel items
		
		return list;	// return list of entries that were shifted
	}