Есть два варианта:
а) изменить источник
б) изменить байтовый код
а) означает: скачать исходный код, изменить его, собрать и использовать собственную версию. Недостаток: для каждой новой версии библиотеки вам нужно будет создать новую исправленную версию
б) Для этого АОП (возможно, с использованием AspectJ) является самым простым способом. Другие варианты - сделать это программно, используя commons / bcel или cglib . AOP проще, потому что вам нужно только реализовать желаемое поведение, в то время как при использовании манипулирования байтовым кодом вам также придется много программировать инфраструктуру (например, предоставить собственный ClassLoader или Java Agent, который запускает ваш патч).
Альтернатива в) часто является лучшей: обратитесь к разработчику библиотеки и попросите его предоставить необходимую вам функциональность.