docs: public void addMessageFilter(MessageFilter messageFilter)
      {
          super.addMessageFilter(messageFilter);
          try   {
              // If at all possible, pass the queue's current session, so the filter is in the proper environment
              if (((BaseMessageFilter)messageFilter).isCreateRemoteFilter())   // Almost always true
              {       // Create the remote version of this filter.
                  RemoteSession remoteSession = (RemoteSession)((BaseMessageFilter)messageFilter).getRemoteSession();
                  BaseMessageFilter remoteFilter = m_receiveQueue.addRemoteMessageFilter((BaseMessageFilter)messageFilter, remoteSession);
                  ((BaseMessageFilter)messageFilter).setRemoteFilterInfo(remoteFilter.getQueueName(), remoteFilter.getQueueType(), remoteFilter.getFilterID(), remoteFilter.getRegistryID());
              }
          } catch (RemoteException ex)    {
              ex.printStackTrace();
          }
      }