Mam jeden priklad ze zivota, ktery se asi podoba Vasemu problemu:
- programatori napsali testy, v nichz vyplnovali tabulky na zaklade hodnoty ziskane volanim Math.random(). Ty testy mely puvodne jen ukazat, ze se na GUI "neco" zobrazuje, ale ve chvili, kdy se zacalo testovat i to, "co" se skutecne zobrazuje, to zpusobilo problemy. Jenze Math.random() nelze pretizit, protoze java.lang.Math je finalni. Takze tri zpusoby reseni:
1) prepsat testy (byly ovsem dodany externisty, moc prace)
2) zkopirovat knihovnu java.lang.Math jinam, prepsat random() aby vracel nenahodne hodnoty a pouzit -Xbootclasspath (problem pri nasazeni na aplikacni server)
3) Javassistem si trosku pohrat s tridou java.lang.Math, coz je nejjednodussi reseni, nikde se nemusely delat zmeny v testech ani jinde ve zdrojacich