<s> package org . eclipse . jdt . core ; import org . eclipse . core . resources . IMarker ; import org . eclipse . core . resources . IResource ; import org . eclipse . core . runtime . IProgressMonitor ; public interface IWorkingCopy { void commit ( boolean force , IProgressMonitor monitor ) throws JavaModelException ; void destroy ( ) ; IJavaElement findSharedWorkingCopy ( IBufferFactory bufferFactory ) ; IJavaElement getOriginal ( IJavaElement workingCopyElement ) ; IJavaElement getOriginalElement ( ) ; IJavaElement [ ] findElements ( IJavaElement element ) ; IType findPrimaryType ( ) ; IJavaElement getSharedWorkingCopy ( IProgressMonitor monitor , IBufferFactory factory , IProblemRequestor problemRequestor ) throws JavaModelException ; IJavaElement getWorkingCopy ( ) throws JavaModelException ; IJavaElement getWorkingCopy ( IProgressMonitor monitor , IBufferFactory factory , IProblemRequestor problemRequestor ) throws JavaModelException ; boolean isBasedOn ( IResource resource ) ; boolean isWorkingCopy ( ) ; IMarker [ ] reconcile ( ) throws JavaModelException ; void reconcile ( boolean forceProblemDetection , IProgressMonitor monitor ) throws JavaModelException ; void restore ( ) throws JavaModelException ; } </s>