Developers are using custom RepaintManagers to add custom rendering to
their applications. Because of that we can not simply change
RepaintManager.currentManager(Component) to return registered per component
hierarchy repaint manager. These custom RepaintManagers usually rely
on the supper implementation. We want javax.swing.RepaintManager to
delegate execution to the registered per component heiarchy
RepaintManagers. This way we will not break these custom
Note: in reality it might be more complicated than just one custom repaint manager:
Custom repaint managers should rely not on the super class
implementation but on the RepaintManager defined for super component.
For RefectionPanel RefectionRepaintManager should rely on
RepaintManagerX which should rely on FXRepaintManager which should
rely on RepaintManager.
This more complex case is not covered by this RFE.
For this RFE I suggest to store delegate RepaintManager in component clientProperty and use it from RepaintManager implementation.