Скорее всего, причина создания всех нестатических полей класса transient
заключалась в том, что класс MTRandom
остается двоичным, совместимым с java.util.Random
, из которого он расширен.
Теоретически, вы можете сериализовать экземпляр MTRandom
и десериализовать его как экземпляр Random
, и все будет работать.
Если эти поля не transient
, они будут сериализованы и станут несовместимыми.
Однако, насколько я могу судить, удаление переходных процессов не должно вызывать у вас проблемы.