code: private void checkGravVizNotInstalledImage() {
  		if (graphVizNotInstalledImage == null) {
  			/*
  			 * Try to paint a class diagram. Class diagrams require graphViz. We
  			 * paint two classes with quite nonsense names that nobody will use
  			 * ever.
  			 */
  			SourceStringReader reader = new SourceStringReader(
  					"@startuml\nERAOIFAWEJFKSLDFJ <|-- fj2salrj3302dsfa\n@enduml");
  			try {
  				log.debug("Testing for GraphViz capabilities.");
  				ByteArrayOutputStream buffer = new ByteArrayOutputStream();
  				reader.generateImage(buffer, new FileFormatOption(fileFormat,
  						false));
  				// If graphViz isn't available, this is the error image now
  				// If graphViz is available, this is image will never be equal
  				// to any other image
  				// that gets generated by anybody (remember the stupid class
  				// names)
  				graphVizNotInstalledImage = buffer.toByteArray();
  			} catch (Exception e) {
  				log.warn("GraphViz testing failed.", e);
  			}
  		}
  
  	}
docs: NOTE: plantUml tries to call graphViz on your host. This will end with
  displaying a stacktrace (coded by plantuml) in your log once. If graphViz
  isn't available plantUml produces an error image without any further
  notice. So we store that image and use it in later requests to detect if
  we have to rederect to the fallback server if graphViz is not available.