I just did test what I proposed and it doesn't work. At least for me.
My idea was to make the Java runtime think the BIOS time is not the local time of Berlin, Germany, but of Moscow, Russia. If that would have worked the Java Runtime should now (19:00 CET, ignoring daylight saving for a second) have printed out a GMT time of 16:00 instead of 18:00, because when it's 19:00 in Moscow it's 16:00 in London (GMT). And you would have had your 2 hour time shift.