FileUtils.copyDirectory(serviceUnitLocation, workDirectory);
FileUtils.copyDirectoryStructure(serviceUnitLocation, workDirectory);
	private void createUnpackedInstaller() throws JbiPluginException {		if (!workDirectory.isDirectory()) {			if (!workDirectory.mkdirs()) {				throw new JbiPluginException(						"Unable to create work directory: " + workDirectory);			}		}		try {			FileUtils.copyDirectory(serviceUnitLocation, workDirectory);		} catch (IOException e) {			throw new JbiPluginException("Unable to copy directory "					+ serviceUnitLocation, e);		}		ScopeArtifactFilter filter = new ScopeArtifactFilter(				Artifact.SCOPE_RUNTIME);		JbiResolutionListener listener = resolveProject();		// print(listener.getRootNode(), "");				Set includes = new HashSet();		for (Iterator iter = project.getArtifacts().iterator(); iter.hasNext();) {			Artifact artifact = (Artifact) iter.next();			if (!artifact.isOptional() && filter.include(artifact)) {				MavenProject project = null;				getLog().info("Resolving "+artifact);				try {					project = projectBuilder.buildFromRepository(artifact,							remoteRepos, localRepo);				} catch (ProjectBuildingException e) {					getLog().warn(							"Unable to determine packaging for dependency : "									+ artifact.getArtifactId()									+ " assuming jar");				}				String type = project != null ? project.getPackaging()						: artifact.getType();				if ("jbi-component".equals(type)) {					removeBranch(listener, artifact);				} else if ("jbi-shared-library".equals(type)) {					removeBranch(listener, artifact);				}  else if ("jar".equals(type)) {					includes.add(artifact);				}			}		}		// print(listener.getRootNode(), "");		for (Iterator iter = retainArtifacts(includes, listener).iterator(); iter				.hasNext();) {			Artifact artifact = (Artifact) iter.next();			try {				getLog().info("Including: " + artifact);				FileUtils.copyFileToDirectory(artifact.getFile(), new File(						workDirectory, LIB_DIRECTORY));			} catch (IOException e) {				throw new JbiPluginException("Unable to copy file "						+ artifact.getFile(), e);			}		}	}