In figure 3, we present a class hierarchy for implementing parallel loops in Java. Class Thread is provided in package java.lang of the Java API. The second layer of this hierarchy is also independent of the source program, and can be provided in another immutable package. For each particular parallel loop in a program, a new class LoopWorker_x is constructed explicitly by the restructuring compiler and added to the transformed program.