<p>A method, computer program product, and apparatus comprise providing a Java developer kit class library comprising first Java classes; providing a Java Open Foundation class library comprising second Java classes each containing one or more of the first Java classes; providing a NET SDK class library comprising NET classes; providing a NET language Open Foundation class library comprising first NET language classes each containing one or more of the NET classes; wherein each of the NET language classes presents the same method signature as one of the second Java classes; receiving Java source code defining third Java classes, first calls to the first Java classes, and second calls to the second Java classes; translating the third Java classes into second NET language classes; and translating the first calls to calls into the NET SDK class library without modifying the second calls.</p>