=== 6.2.7.2 JCSystem.getAppletShareableInterfaceObject Method === The **JCSystem** class contains the method **getAppletShareableInterfaceObject**, which is invoked by a client applet to communicate with a server applet. The Java Card RE shall implement this method to behave as follows: 1. The Java Card RE searches its internal applet table which lists all successfully installed applets on the card for one with **serverAID**. If not found, **null** is returned. 2. If the server applet instance is not a multiselectable applet instance and is currently active on another logical channel, a **SecurityException** is thrown. See [[4.2_Multiselectable Applets| Section 4.2, Multiselectable Applets]]. 3. The Java Card RE invokes this applet's **getShareableInterfaceObject** method, passing the **clientAID** of the caller and the parameter. 4. A context switch occurs to the server applet, and its implementation of **getShareableInterfaceObject** proceeds as described in the previous section. The server applet returns a SIO (or **null**). 5. **getAppletShareableInterfaceObject** returns the same SIO (or **null**) to its caller. For enhanced security, the implementation shall make it impossible for the client to tell which of the following conditions caused a **null** value to be returned: *The **serverAID** was not found. *The server applet does not participate in inter-applet communication. *The server applet does not recognize the **clientAID** or the **parameter**. *The server applet does not communicate with this client. *The server applet does not communicate with this client as specified by the **parameter**. *The applet's **getShareableInterfaceObject** method throws an uncaught exception.