code: public void setServiceList(ArrayList<ServiceWrapper> services) {
      writeLock.lock();
      try {
        LOGGER.info("Updating service list by " + Thread.currentThread().getName());
        this.serviceList = services;
      } finally {
        writeLock.unlock();
      }
    }
docs: As the Responder is multi-threaded, make sure that the access to the
  services list which might change out if the user changes it, is
  synchronized to make sure nothing weird happens.
  
  <p>There is lock on this that will always allow a read unless another thread
  is updating the service list.
  
  @param services - the ArrayList of ServiceInfoBeans