/**
         * Create an EventRecordFactory
         * @param abortable specifies whether the return from the listener 
         * handler functions are obeyed.  False means they are ignored. True
         * means the event loop exits on error.
         */
        public EventRecordFactory(IERFListener listener, ArrayList sids)
        {
            _listener = listener;
            _sids = sids;

            if (_sids == null)
            {
                _sids = null;
            }
            else
            {
                if (_sids == null)
                _sids = new ArrayList();
                _sids.Sort(); // for faster binary search
            }
        }
        /**
         * Create an EventRecordFactory
         * @param abortable specifies whether the return from the listener
         * handler functions are obeyed.  False means they are ignored. True
         * means the event loop exits on error.
         */
        public EventRecordFactory(IERFListener listener, ArrayList sids)
        {
            _listener = listener;
            _sids     = sids;

            if (_sids == null)
            {
                _sids = null;
            }
            else
            {
                if (_sids == null)
                {
                    _sids = new ArrayList();
                }
                _sids.Sort(); // for faster binary search
            }
        }