private void complete(int i)
	{
		EarleyState<E, R> state = states.get(i);
		int               j     = state.back;
		String            lhs   = state.rule.lhs;

		for ( ; j < states.size() && !states.get(j).seperator(); ++j )
		{
			EarleyState<E, R> pstate = states.get(j);

			if ( lhs.equals(pstate.current()) )
				addState(pstate.rule, pstate.dot + 1, pstate.back, j, i);
		}
	}