protected void hypothesizeLambda(GrammarEnvironment env, Grammar g) {
		LambdaProductionRemover remover = new LambdaProductionRemover();
		Set lambdaDerivers = remover.getCompleteLambdaSet(g);
		if (lambdaDerivers.contains(g.getStartVariable())) {
			JOptionPane.showMessageDialog(env,
					"WARNING : The start variable derives lambda.\n"
							+ "New Grammar will not produce lambda String.",
					"Start Derives Lambda", JOptionPane.ERROR_MESSAGE);
		}
	    if (lambdaDerivers.size() > 0) {
	    	LambdaPane lp = new LambdaPane(env, g);
	    	LambdaController controller = new LambdaController(lp, g);
	    	controller.doAll();
	    	g=controller.getGrammar();
	    }
	    hypothesizeUnit(env, g);
	}