private boolean isISubset(int subset,int superset,TreeMap<Integer,Integer> itemMap)
	{
		LR0ItemSet hostItems = hostDFA.getItemSet(superset);
		LR0ItemSet fullItems = fullDFA.getItemSet(subset);
		int hostItemCounter = 0,fullItemCounter = 0;
		
		itemMap.clear();
		
		while(fullItemCounter < fullItems.size())
		{
			while(hostItemCounter < hostItems.size() &&
			      (hostItems.getProduction(hostItemCounter) != fullItems.getProduction(fullItemCounter) ||
				   hostItems.getPosition(hostItemCounter) != fullItems.getPosition(fullItemCounter)))
			{
				hostItemCounter++;
			}
			if(hostItemCounter == hostItems.size() ||
			   (fullItems.size() - fullItemCounter) > (hostItems.size() - hostItemCounter)) return false;
			itemMap.put(fullItemCounter,hostItemCounter);
			hostItemCounter++;
			fullItemCounter++;
		}
		
		return true;
	}