final RenderingHints savedHints = g2.getRenderingHints();
final Stroke savedStroke = g2.getStroke();
g2.setColor(color);
g2.setStroke(stroke);
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
return new Disposable() {
@Override
public void dispose() {
// No need to restore the Color - the incoming color is not the original color
// of the graphics context when paintComponent() is called since paintComponent()