This illustration demonstrates how the IDL compiler - idl2java - takes in the IDL interface definition, and outputs six files: interface definition, IDL client stub, IDL server skeleton, Helper class, Holder class, and implementation template.