def collect(opts)
      raise Jinx::ValidationError.new("#{self} is already collected") if received?
      specimen_event_parameters.merge!(extract_event_parameters(opts))
    end
def collect(opts)
      raise Jinx::ValidationError.new("#{self} is already collected") if received?
      specimen_event_parameters.merge!(extract_event_parameters(opts))
    end
Collects and receives this Collectible with the given options.

 @param (see #extract_event_parameters)
 @option opts (see #extract_event_parameters)
 @raise [Jinx::ValidationError] if this Collectible has already been received