	@Test
	public void shouldRecycleCypher() throws Exception
	{

		Grammar grammar = Fixture.grammarResource( BNFProcessor.class, "/cypher.xml");
		// not doing this at the moment because two of the rules get an unnecessary { } round a single item
		//  LOGGER.debug("Original grammar \n{}", xmlout(grammar));
		String firstBNF = makeSQLBNF(grammar);
		LOGGER.debug("Generated \n{}", firstBNF);
		// do we need a new one ?
		BNFProcessor secondProcessor = new BNFProcessor();
		Grammar grammarTwo = secondProcessor.processString(firstBNF);
		String intermediateBNF = makeSQLBNF(grammarTwo);
		LOGGER.debug("Regenerated\n{}", intermediateBNF);
		Grammar grammarThree = secondProcessor.processString(intermediateBNF);
		String finalBNF = makeSQLBNF(grammarTwo);
		// can i eat my own dog food
		assertEquals(intermediateBNF, finalBNF);
		// but can i handle everything ?
		// not yet - somethings get wrapped in { }
//		assertEquals(firstBNF, intermediateBNF);
	}