docs: public BaseMessageFilter setupRemoteFilter(BaseMessageFilter messageFilter)
      {
          Map<String,Object> propertiesForFilter = messageFilter.getProperties();
          if (propertiesForFilter != null)
          {
              String strClassName = (String)propertiesForFilter.get(MessageConstants.CLASS_NAME);
              if (strClassName != null)
              {
                  if (strClassName.indexOf(MessageConstants.GRID_FILTER) != -1)
                  {
                      Record record = this.getMainRecord();
                      if (record != null)
                          messageFilter = new GridRecordMessageFilter(record, null, true);
                      messageFilter.setMessageSource(null);   // Since this filter auto sets the source
                  }
                  else if (strClassName.indexOf(MessageConstants.RECORD_FILTER) != -1)
                  {
                      Record record = this.getMainRecord();
                      if (record != null)
                          messageFilter = new RecordMessageFilter(record, null);
                      messageFilter.setMessageSource(null);
                  }
                  else
                  {
                      BaseMessageFilter newMessageFilter = (BaseMessageFilter)ClassServiceUtility.getClassService().makeObjectFromClassName(strClassName);
                      if (newMessageFilter != null)
                          newMessageFilter.init(messageFilter.getQueueName(), messageFilter.getQueueType(), null, null);
                      if (newMessageFilter != null)
                          messageFilter = newMessageFilter;
                  }
              }
          }
          return messageFilter; // By default, don't change
      }