void downloadTo(DistributedMember locator, String groupName, String jarName, Path jarPath)
      throws IOException {
    ResultCollector<RemoteInputStream, List<RemoteInputStream>> rc =
        (ResultCollector<RemoteInputStream, List<RemoteInputStream>>) ManagementUtils
            .executeFunction(
                new DownloadJarFunction(), new Object[] {groupName, jarName},
                Collections.singleton(locator));

    List<RemoteInputStream> result = rc.getResult();
    if (result.get(0) instanceof Throwable) {
      throw new IllegalStateException(((Throwable) result.get(0)).getMessage());
    }

    FileOutputStream fos = new FileOutputStream(jarPath.toString());

    InputStream jarStream = RemoteInputStreamClient.wrap(result.get(0));
    IOUtils.copyLarge(jarStream, fos);

    fos.close();
    jarStream.close();
  }
Deploys the jars received from shared configuration, it undeploys any other jars that were not
part of shared configuration

@param response {@link ConfigurationResponse} received from the locators
geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java