@Override
	public Boolean visitParserBean(ParserBean bean)
	throws RuntimeException
	{
		currentParser = bean;
		out.append("Parser " + bean.getName() + " (" + bean.getDisplayName() + ")\n");
		out.append("  Package declaration: " + bean.getPackageDecl()).append("\n");
		out.append("  Class name: " + bean.getClassName()).append("\n");
		out.append("  Start symbol: " + getName(bean.getStartSymbol())).append("\n");
		out.append("  Start layout:");
		if(bean.getStartLayout() == null) out.append(" NONE\n");
		else for(CopperElementReference layout : bean.getStartLayout())
		{
			out.append("\n    " + getName(layout));
		}
		out.append("\n  Grammars:");
		for(CopperElementName grammar : bean.getGrammars())
		{
			out.append("\n    " + grammar);
		}
		out.append("\n");
		boolean hasError = false;
		for(CopperElementName n : bean.getGrammars())
		{
			hasError |= bean.getGrammar(n).acceptVisitor(this);
		}
		currentParser = null;
		return hasError;
	}