Cambiar dinámicamente el icono de nodos específicos en JTree

He visto muchos ejemplos para cambiar el icono de nodos durante la instanciación de árbol, pero me gustaría una forma de cambiar dinámicamente el icono de un nodo individual más adelante. Entonces, en mi código principal agrego mi renderizador personalizado a mi árbol:

// Icon I want to set nodes to later
ImageIcon checkIcon = new ImageIcon("check.jpg");

// Creates tree with my nodes
JTree tree = new JTree(nodes.top);

// Create custom renderer
Scenario1Renderer renderer = new Scenario1Renderer();

// Set to single tree selection 
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);

// Set tree to my custom renderer
//renderer.setRendererIcon(greenIcon);
tree.setCellRenderer(renderer);

Mi código en el renderizador es

public class Scenario1Renderer extends DefaultTreeCellRenderer {

ImageIcon rendererIcon;

    public void setRendererIcon(ImageIcon myIcon){
      this.rendererIcon = myIcon;
    };

public Component getTreeCellRendererComponent( 
         JTree tree, 
         Object value, 
         boolean sel, 
         boolean expanded, 
         boolean leaf, 
         int row, 
         boolean hasFocus)
{ 

    Component ret = super.getTreeCellRendererComponent(tree, value,
            selected, expanded, leaf, row, hasFocus);
            //setIcon( rendererIcon ) ;
            return ret;
    } 

Entonces, obviamente, si configuro mi rendererIcon, pintará todos mis nodos con el ícono que paso durante la instanciación de árbol. En cambio, quiero algún tipo de método que pueda configurar el ícono de un nodo individual más adelante en la ejecución de mi programa.

Respuestas a la pregunta(1)

Su respuesta a la pregunta