docs: public void free()
      {
          Record record = null;
          if (this.getMessageSource() instanceof Record)
              record = (Record)this.getMessageSource();
          
          super.free();
          
          if (record != null)
          {
              BaseSyncRecordMessageFilterHandler fileListener = (BaseSyncRecordMessageFilterHandler)record.getListener(BaseSyncRecordMessageFilterHandler.class, false);
              if (fileListener != null)
                  if (fileListener.getRecordMessageFilter() == this)
              {   // Always
                      // Note: Removing this fileListener will call free again for this object... shouldn't be a problem, since everything has been zeroed --- may want to fix this later
                  record.removeListener(fileListener, true);
              }
          }
      }