def to_site(protocol, user)
      user.find unless user.fetched?
      site = user.sites.first
      return site if site
      protocol.find unless protocol.fetched?
      site = protocol.sites.first
      return site if site
      site = protocol.coordinators.detect_value { |coord| coord.sites.first } or
        raise ScatError.new("Neither the user #{rcvr.email_address} nor the #{pcl.title} protocol administrators have an associated site.")
    end
def to_site(protocol, user)
      user.find unless user.fetched?
      site = user.sites.first
      return site if site
      protocol.find unless protocol.fetched?
      site = protocol.sites.first
      return site if site
      site = protocol.coordinators.detect_value { |coord| coord.sites.first } or
        raise ScatError.new("Neither the user #{rcvr.email_address} nor the #{pcl.title} protocol administrators have an associated site.")
    end
The collection site is the first match for the following criteria:
 * the first site of the current user
 * the first protocol site
 * the first protocol coordinator site

 @param [CaTissue::CollectionProtocol] protocol the collection protocol
 @param [CaTissue::User] user the current user
 @return [CaTissue::Site] the collection site