public ClasspathModifierQueries.IOutputFolderQuery getOutputFolderQuery(IPath path) throws JavaModelException {
public ClasspathModifierQueries.OutputFolderQuery getOutputFolderQuery(IPath path) throws JavaModelException {
    public void testEditOutputFolder() throws JavaModelException, CoreException, InvocationTargetException, InterruptedException {        IPath oldOutputPath= fProject.getOutputLocation();        IPath newOutputPath= new Path(oldOutputPath.toString() + "2");        CPListElementAttribute attribute= createOutputFolder(newOutputPath);                ClasspathModifierQueries.IOutputLocationQuery query= new ClasspathModifierQueries.IOutputLocationQuery() {                        public boolean doQuery(CPListElement element) {                return true;            }            public IPath getOutputLocation() {                IPath path= null;                try {                    path= fProject.getOutputLocation();                } catch (JavaModelException e) {}                return new Path(path.toString() + "3");            }            public ClasspathModifierQueries.IOutputFolderQuery getOutputFolderQuery(IPath path) throws JavaModelException {                return getOutputFolderQueryInternal(fProject.getOutputLocation());            }                 };        CPListElementAttribute newAttribute= (CPListElementAttribute)executeOperation(IClasspathInformationProvider.EDIT_OUTPUT, attribute, null, query, null, null);                IPath editedOutputPath= new Path(oldOutputPath.toString() + "3");        IFolder folder= getFolderHandle(new Path (fNormalFolder));        IPackageFragmentRoot root= fProject.findPackageFragmentRoot(folder.getFullPath());        CPListElement elem= CPListElement.createFromExisting(root.getRawClasspathEntry(), fProject);                assertTrue(((IPath)newAttribute.getValue()).equals(editedOutputPath));        assertTrue(((IPath)newAttribute.getValue()).equals(elem.getAttribute(CPListElement.OUTPUT)));                validateClasspath();    }