code: def extract_event_parameters(opts)
        # Check if there is an attribute association
        eps = opts.delete(:specimen_event_parameters) || []
        # collect additional parameter associations
        rcvr = opts.delete(:receiver)
        cltr = opts.delete(:collector) || rcvr
        # if there is not at least a collector, then don't continue parsing
        return eps if cltr.nil?
        rdate = opts.delete(:received_date)
        rdate ||= DateTime.now
        eps << CaTissue::SpecimenEventParameters.create_parameters(:received, self, :user => rcvr, :timestamp => rdate)
        cdate = opts.delete(:collected_date)
        cdate ||= rdate
        eps << CaTissue::SpecimenEventParameters.create_parameters(:collection, self, :user => cltr, :timestamp => cdate)
        logger.debug { "Collectible #{self} event parameters: #{eps.pp_s(:single_line)}" }
        eps
      end
docs: Extracts #{CaTissue::CollectibleEventParameters} from the given options.
   The options are removed from the *opts* paramater.
  
   @param [{Symbol => Object}] opts the merge options
   @option opts [Enumerable] :specimen_event_parameters the optional SEP merge collection to augment
   @option opts [CaTissue::User] :receiver the tissue bank user who received the tissue
   @option opts [Date] :received_date the received date (defaults to now)
   @option opts [CaTissue::User] :collector the user who acquired the tissue
     (defaults to the receiver)
   @option opts [Date] :collected_date the collection date (defaults to the received date)
   @return [CaTissue::SpecimenEventParameters] the augmented SEPS