Objects of one object model (e.g., a Common Object Model (COM)) are called
by programs of another object model (e.g., Java). To facilitate the call, a set
of interfaces is generated that corresponds to the interfaces of a COM typelib.
The interfaces include enough information to enable type-checking of the generated
code to be performed during compilation, but do not include implementations of
the interfaces. The implementations are included in a proxy object, which is employed
in making the call to the COM object.