    This document describes the benefits of waterfall.

    This diagram illustrates the allocation of dependencies to dlls in both
    the Java Plugin (JPI) and waterfall.

    You can see from the above diagram that all the browser specific
    dependencies are located in the wf_moz6.dll.  wf_moz6.dll communicates
    to the jvmp.dll through the well defined waterfall C api.  jvmp.dll
    communicates to the Java environment through the well defined JNI C api.

    The Java Plugin has browser specific dependencies in both npoji600.dll
    and in jpins32.dll.  jpins32.dll communicates with the Java environment
    throug the well defined JNI C api and some additional proprietary APIs.

    Thus, a change in any of the netscape interfaces impacts the java plugin
    very deeply, where with waterfall, the change is isolated to one module.