code: public BaseMessageFilter setupRecordListener(JMessageListener listener, boolean bTrackMultipleRecords, boolean bAllowEchos)
      {
          boolean bReceiveAllAdds = false;
          if (((this.getDatabaseType() & DBConstants.TABLE_MASK) == DBConstants.TABLE)
              || ((this.getDatabaseType() & DBConstants.TABLE_MASK) == DBConstants.LOCAL)
              || ((this.getDatabaseType() & DBConstants.TABLE_MASK) == DBConstants.REMOTE_MEMORY))
                  bReceiveAllAdds = true;    // The volume of changes is negligable and there is rarely a secondary, so listen for all changes
          return this.setupRecordListener(listener, bTrackMultipleRecords, bAllowEchos, bReceiveAllAdds);
      }
docs: Set up a listener to notify when an external change is made to the current record.
  @param listener The listener to set to the new filter. If null, use the record's recordowner.
  @param bTrackMultipleRecord Use a GridRecordMessageFilter to watch for multiple records.
  @param bAllowEchos Allow this record to be notified of changes (usually for remotes hooked to grid tables).
  @param bReceiveAllAdds If true, receive all add notifications, otherwise just receive the adds on secondary reads.
  @return The new filter.