private void exportResourceFiles(IPackageFragmentRoot pkgRoot, boolean isInJavaProject, IResource resource, IPath destinationPath, boolean isInOutputFolder) {
private void exportResourceFiles(IProgressMonitor progressMonitor, IPackageFragmentRoot pkgRoot, boolean isInJavaProject, IResource resource, IPath destinationPath, boolean isInOutputFolder) {
	private void exportResourceFiles(IPackageFragmentRoot pkgRoot, boolean isInJavaProject, IResource resource, IPath destinationPath, boolean isInOutputFolder) {		boolean isNonJavaResource= !isInJavaProject || (pkgRoot == null && !isInOutputFolder);		boolean isInClassFolder= false;		try {			isInClassFolder= pkgRoot != null && !pkgRoot.isArchive() && pkgRoot.getKind() == pkgRoot.K_BINARY;		} catch (JavaModelException ex) {			addWarning(JarPackagerMessages.getFormattedString("JarFileExportOperation.cantGetRootKind", resource.getFullPath()), ex); //$NON-NLS-1$		}		if ((fJarPackage.areClassFilesExported() &&					((isNonJavaResource || (pkgRoot != null && !isJavaFile(resource) && !isClassFile(resource)))					|| isInClassFolder && isClassFile(resource)))			|| (fJarPackage.areJavaFilesExported() && (isNonJavaResource || (pkgRoot != null && !isClassFile(resource))))) {			try {				fJarWriter.write((IFile) resource, destinationPath);			} catch (IOException ex) {				String message= ex.getMessage();				if (message == null)					message= JarPackagerMessages.getFormattedString("JarFileExportOperation.ioErrorDuringExport", resource.getFullPath()); //$NON-NLS-1$				addWarning(message , ex);			} catch (CoreException ex) {				String message= ex.getMessage();				if (message == null)					message= JarPackagerMessages.getFormattedString("JarFileExportOperation.coreErrorDuringExport", resource.getFullPath()); //$NON-NLS-1$				addWarning(message, ex);			}		}						}