} finally {
} catch (TeamException te) { throw SVNException.wrapException(te); } finally {
	public boolean moveFile(		IResourceTree tree,		IFile source,		IFile destination,		int updateFlags,		IProgressMonitor monitor) {		try {			ISVNLocalFile resource = new LocalFile(source);                        if (!resource.isManaged())                return false; // pass            			ISVNClientAdapter svnClient = resource.getRepository().getSVNClient();			monitor.beginTask(null, 1000);			monitor.setTaskName("Working..");            boolean force = (updateFlags & IResource.FORCE) != 0;            boolean keepHistory = (updateFlags & IResource.KEEP_HISTORY) != 0;            boolean isDeep = (updateFlags & IResource.SHALLOW) == 0;                        // If the file is not in sync with the local file system and force is false,            // then signal that we have an error.            if (!force && !tree.isSynchronized(source, IResource.DEPTH_INFINITE)) {                String message = org.eclipse.core.internal.utils.Policy.bind("localstore.resourceIsOutOfSync", source.getFullPath().toString()); //$NON-NLS-1$                IStatus status = new ResourceStatus(IResourceStatus.OUT_OF_SYNC_LOCAL, source.getFullPath(), message);                tree.failed(status);                return true; // we attempted even if we failed             }                        // Add the file contents to the local history if requested by the user.             if (keepHistory)                tree.addToLocalHistory(source);            try {                OperationManager.getInstance().beginOperation(svnClient);			                    // add destination directory to version control if necessary                // see bug #15                if (!SVNWorkspaceRoot.getSVNFolderFor(destination.getParent()).isManaged()) {                    SVNTeamProvider provider = (SVNTeamProvider)RepositoryProvider.getProvider(destination.getProject());                    provider.add(new IResource[] {destination.getParent()},IResource.DEPTH_ZERO,new NullProgressMonitor());                }                                // force is set to true because when we rename (refactor) a                // java class, the file is modified before being moved                // A modified file cannot be moved without force                 svnClient.move(                    source.getLocation().toFile(),                     destination.getLocation().toFile(),                    true);                                // movedFile must be done before endOperation because                 // destination file must not already exist in the workspace                 // resource tree.                tree.movedFile(source, destination);            } catch (SVNClientException e) {                throw SVNException.wrapException(e);             } finally {                OperationManager.getInstance().endOperation();            }		} catch (SVNException e) {			tree.failed(				new org.eclipse.core.runtime.Status(					org.eclipse.core.runtime.Status.ERROR,					"SUBCLIPSE",					0,					"Error move file",					e));			e.printStackTrace();			return true; // we attempted 		} finally {			monitor.done();		}		return true;	}