Vielleicht auch einfach eine gängige Alternative (mit Sourcen) suchen, oder diese ganz rauswerfen und durch was Eigenes ersetzen.
Wenn es nur um eine Komponente geht ist das durchaus sinnvoll, je nachdem worum es geht.
Meistens geht es ja um ganze Komponentensammlungen and hunderten Stellen, und da wird es dann kritischer.
Eine Möglichkeit wäre auch, eine Wrapper/Fascade-Klasse zu bauen, die genau diese eine Funktionalität nachbaut,
intern aber ganz andere Implementierungen enthält.
Wenn man das geschickt macht braucht man da, wo es verwendet wird, im besten Fall nur die uses anpassen und auf den neuen Wrapper umzuleiten.