Igazabol ez a kifinomultabb ellenorzes is pont annyira hibas, mint a Reddites kommentben linkelt eredeti. Ugyanugy rossz agra fog menni a kulso if-ben, es utana raadasul assertion fail.
Ugy tunik, azert kell baszkolodni a nevvel, mert a 95-nek meg az NT4-nek ugyanaz a version-je. Meg kellene cserelni a ket ifet, es a nevet csak 4.0 eseten vizsgalni:
if (version.startsWith("4.0")) { version=baszkolodjunkNevvel(name) }
else if (version.startsWith("99.99")) { version="windows1001" }
else if ...