Schematic Representation of the APEX Tool Software Architecture. This figure shows the organization of the APEX java package organization. Java classes and resources are divided into those that support the graphical user interface (GUI), those that are responsible for data processing, and those resources responsible for data management such as the primary data structures. Additional processing tasks can be built by adding a new processing panel to the interface, making adjustments to the processing event dispatcher to handle the task, and adding methods to the main processor class to perform the task. Formal UML Class diagrams are available with the APEX source code download.