public synchronized BufferedImage getLegend() { // do we laraedy have a legend if (legend == null) { // init all the values init(); // now build the individuals legends // // header // // XXX no header for the moment // // body // final Queue<BufferedImage> body = createBody(); // // footer // if (bandInformation) { final Queue<BufferedImage> footer = createFooter(); body.addAll(footer); } // now merge them legend = mergeRows(body); } return legend; }