code: void handleMessage(IMessage message) {
          String id= message.getHeader(IMessageConstants.HEADER_CONVERSATION_ID);
          
          if(id != null) {
              Interaction ctx;
              synchronized (_currentInteractions) {
                  ctx= findContext(id);
                  
                  if(ctx == null) {
                      String protocol= message.getHeader(IMessageConstants.HEADER_PROTOCOL);
                      
                      if(protocol != null) {
                          ctx= newParticipantInteraction(protocol, id);
                      }
                  }
              }
  
              // TODO: should we do something if id == null || ctx == null ?
             
              if(ctx != null) {
                  processInteraction(ctx, message);
              }
          }
      }
docs: /*package