Я думаю, что вы могли бы просто удалить все ключевые слова static
и имя класса из до вызова методов (если сгенерированный код квалифицирует статические методы с именем класса) из источников библиотеки. Обе операции просты: найти и заменить, поэтому вам не нужно понимать сгенерированный код.
Тогда у каждого потока может быть свой экземпляр класса библиотеки.
Если это не вариант, возможно, вы могли бы предоставить каждому потоку свой собственный ClassLoader, используя Thread.setContextClassLoader()
. Каждый ClassLoader имеет отдельные определения классов, так что, возможно, таким образом вы сможете достичь желаемого результата.