@Override
	public Boolean visitExtensionGrammar(ExtensionGrammar bean)
	throws RuntimeException
	{
		currentGrammar = bean;
		out.append("  Extension grammar " + bean.getName() + "(" + bean.getDisplayName() + ")\n");
		boolean hasError = false;
		out.append("    Marking terminals:\n");
		for(CopperElementName n : bean.getMarkingTerminals())
		{
			hasError |= bean.getMarkingTerminal(n).acceptVisitor(this);
		}
		out.append("\n    Bridge productions:\n");
		for(CopperElementName n : bean.getBridgeProductions())
		{
			hasError |= bean.getBridgeProduction(n).acceptVisitor(this);
		}
		out.append("\n    Grammar layout:");
		if(bean.getGrammarLayout() == null) out.append(" NONE\n");
		else for(CopperElementReference layout : bean.getGrammarLayout())
		{
			out.append("\n      " + getName(layout));
		}
		out.append("\n    Elements:\n");
		for(CopperElementName n : bean.getGrammarElements())
		{
			hasError |= bean.getGrammarElement(n).acceptVisitor(this);
		}
		return hasError;			
	}