Bug 296691 Change new Groups API to Virtual Resource API
If we decide that 'virtual' is the right naming for new resources concept, I will make the following changes. Add IResource#VIRTUAL flag to use in #create methods Add IResource#isVirtual indicating that a resource is virtual Remove IResource#isGroup Remove IFolder#createGroup
bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/CopyFilesAndFoldersOperation.java
* @param sourceResources
	 *            the source resources
	 * @return an error message, or <code>null</code> if the path is valid
	 */
	public String validateDestination(IContainer destination,
			IResource[] sourceResources) {
		if (!isAccessible(destination)) {
			return IDEWorkbenchMessages.CopyFilesAndFoldersOperation_destinationAccessError;
		}
		IContainer firstParent = null;
		URI destinationLocation = destination.getLocationURI();
		for (int i = 0; i < sourceResources.length; i++) {
			IResource sourceResource = sourceResources[i];
			if (firstParent == null) {
				firstParent = sourceResource.getParent();
			} else if (firstParent.equals(sourceResource.getParent()) == false) {
				
				return IDEWorkbenchMessages.CopyFilesAndFoldersOperation_parentNotEqual;
			}
			
			
			if (destination.isGroup()) {
				if (!sourceResource.isLinked() && !sourceResource.isGroup()
						&& !createLinks && !createGroupsAndLinks) {
					return NLS
							.bind(
									IDEWorkbenchMessages.CopyFilesAndFoldersOperation_sourceCannotBeCopiedIntoAGroup,
									sourceResource.getName());
				}
			}