Mamy sobie klasę:

Listing 1. Przykładowa klasa

public class A{

    public static void main(String[] a){
       
       for(String x: a)
          System.out.println(x);
    }

}

Klasa jest zgodna z java 1.5+, ale kompilujemy w Java 1.7. Nagle okazuje się, że trzeba uruchomić to w Java 1.3… problem jest doskonale widoczny. Pętla foreach z javy 1.5. W praktyce jedną pętle można zamienić na itereator, ale set pętli… nie koniecznie.

Co robimy?

Ano kompilujemy sobie to javac i następnie otwieramy w hexedytorze. Ósmy bajt zamieniamy na 2F, zapisujemy i po problemie.

Naiwne? Oczywiście.
Działa? No ba!