docs: public void doPng(StaplerRequest req, StaplerResponse rsp) throws IOException {
          if (req.checkIfModified(timestamp, rsp)) return;
  
          try {
              BufferedImage image = render(req,null);
              rsp.setContentType("image/png");
              ServletOutputStream os = rsp.getOutputStream();
              ImageIO.write(image, "PNG", os);
              os.close();
          } catch(Error e) {
              /* OpenJDK on ARM produces an error like this in case of headless error
                  Caused by: java.lang.Error: Probable fatal error:No fonts found.
                          at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1088)
                          at sun.font.FontManager.initialiseDeferredFont(FontManager.java:967)
                          at sun.font.CompositeFont.doDeferredInitialisation(CompositeFont.java:254)
                          at sun.font.CompositeFont.getSlotFont(CompositeFont.java:334)
                          at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:77)
                          at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93)
                          at sun.font.Font2D.getFontMetrics(Font2D.java:387)
                          at java.awt.Font.defaultLineMetrics(Font.java:2082)
                          at java.awt.Font.getLineMetrics(Font.java:2152)
                          at org.jfree.chart.axis.NumberAxis.estimateMaximumTickLabelHeight(NumberAxis.java:974)
                          at org.jfree.chart.axis.NumberAxis.selectVerticalAutoTickUnit(NumberAxis.java:1104)
                          at org.jfree.chart.axis.NumberAxis.selectAutoTickUnit(NumberAxis.java:1048)
                          at org.jfree.chart.axis.NumberAxis.refreshTicksVertical(NumberAxis.java:1249)
                          at org.jfree.chart.axis.NumberAxis.refreshTicks(NumberAxis.java:1149)
                          at org.jfree.chart.axis.ValueAxis.reserveSpace(ValueAxis.java:788)
                          at org.jfree.chart.plot.CategoryPlot.calculateRangeAxisSpace(CategoryPlot.java:2650)
                          at org.jfree.chart.plot.CategoryPlot.calculateAxisSpace(CategoryPlot.java:2669)
                          at org.jfree.chart.plot.CategoryPlot.draw(CategoryPlot.java:2716)
                          at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1222)
                          at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1396)
                          at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1376)
                          at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1361)
                          at hudson.util.ChartUtil.generateGraph(ChartUtil.java:116)
                          at hudson.util.ChartUtil.generateGraph(ChartUtil.java:99)
                          at hudson.tasks.test.AbstractTestResultAction.doPng(AbstractTestResultAction.java:196)
                          at hudson.tasks.test.TestResultProjectAction.doTrend(TestResultProjectAction.java:97)
                          ... 37 more
               */
              if(e.getMessage().contains("Probable fatal error:No fonts found")) {
                  rsp.sendRedirect2(req.getContextPath()+"/images/headless.png");
                  return;
              }
              throw e; // otherwise let the caller deal with it
          } catch(HeadlessException e) {
              // not available. send out error message
              rsp.sendRedirect2(req.getContextPath()+"/images/headless.png");
          }
      }