public boolean union(LALR1LookaheadTables rhs)
	{
		boolean rv = false;
		rv = lookahead.addAll(rhs.lookahead) || rv;
		rv = beginningLayout.addAll(rhs.beginningLayout) || rv;
		for(Terminal token : rhs.lookaheadLayout.keySet())
		{
			if(!lookaheadLayout.containsKey(token)) lookaheadLayout.put(token,new HashSet<Terminal>());
			rv = lookaheadLayout.get(token).addAll(rhs.lookaheadLayout.get(token)) || rv;
		}
		return rv;
	}