docs: @Override
      public void meTerminated(SICoreConnection conn) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "meTerminated");
  
          //Remember the fact that the ME has terminated so we don't issue spurious FFDCs
          final Conversation conversation = conversationTable.get(conn);
  
          //If conversation is null we do nothing.
          if (conversation != null) {
              final ConversationState convState = (ConversationState) conversation.getAttachment();
              convState.setMETerminated();
          }
  
          // Right, so the ME that the core connection is connected to
          // is dead. First of all get the ME Uuid that the connection
          // refers to
          String meUuid = conn.getMeUuid();
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              SibTr.debug(tc, "ME Uuid: ", meUuid);
  
          // Have we already sent a notification about this ME terminating
          // to the client?
          if (termNotif.get(meUuid) == null) {
              // No we have not. So, get the Conversation and send the client
              // the message about this ME. It will be up to the client to fan
              // out this message to other clients connected to this ME.
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(tc, "We have not sent a notification about this ME");
  
              try {
                  sendMeNotificationEvent(CommsConstants.EVENTID_ME_TERMINATED, conn, null, null);
  
                  // and save that we have sent a response concerning this ME
                  // Note, just using a Hashtable for fast searching.
                  termNotif.put(meUuid, new Object());
              } catch (SIException e) {
                  FFDCFilter.processException(e,
                                              CLASS_NAME + ".meTerminated",
                                              CommsConstants.SERVERSICORECONNECTIONLISTENER_MET_01,
                                              this);
  
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      SibTr.debug(tc, e.getMessage(), e);
  
                  SibTr.error(tc, "COMMUNICATION_ERROR_SICO2018", e);
              }
          } else {
              // Yes we have - so do not do anything more
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(tc, "Already sent notification about this ME");
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "meTerminated");
      }