private void addDependentLibToTarStream(PackageHandler packageHandler, TarArchiveOutputStream tarOutputStream) throws IOException {
		packageHandler.addBaseFolderToPackage(tarOutputStream);
		Set<String> libs = packageHandler.getPackageDependentLibs();
		packageHandler.copyShellFile(tarOutputStream);

		for (URL eachUrl : getClassPaths(getClass().getClassLoader())) {
			File eachClassPath = new File(decodePathWithUTF8(eachUrl.getFile()));
			if (!isJar(eachClassPath)) {
				continue;
			}
			if (isDependentLib(eachClassPath, libs)) {
				packageHandler.addFileToPackage(tarOutputStream, eachClassPath, eachClassPath.getName());
			}
		}
	}
Create agent package.

@param packageDownloadInfo information for downloading agent.

@return File  agent package.
ngrinder-controller/src/main/java/org/ngrinder/agent/service/AgentPackageService.java