public IOutputFolderQuery getOutputFolderQuery() throws JavaModelException { return new ClasspathModifierQueries.IOutputFolderQuery(fProject.getOutputLocation()) {
public OutputFolderQuery getOutputFolderQuery() throws JavaModelException { return new ClasspathModifierQueries.OutputFolderQuery(fProject.getOutputLocation()) {
    public void testDefaultZipWithOthers() throws JavaModelException, InvocationTargetException {        addToSelection(new int[] {ZIP});        DialogExplorerActionContext context= createContext();        addListener(new int[] {ADD_TO_BP, CREATE_LINK});        fActionGroup.setContext(context);        reset();                // if the zip file is added to the buildpath, then both, the zip and the jar file         // should have the option to be removed and the reset all operation additionally becomes         // available as we changed the project.        final IPackageFragmentRoot[] addedZipArchive= {null};        AddToClasspathOperation operation= new AddToClasspathOperation(null, new IClasspathInformationProvider() {            public void handleResult(List resultElements, CoreException exception, int operationType) {                addedZipArchive[0]= (IPackageFragmentRoot)resultElements.get(0);            }            public ISelection getSelection() {                List list= new ArrayList();                list.add(fItems[ZIP]);                 return new StructuredSelection(list);            }            public IJavaProject getJavaProject() {                return fProject;            }            public IOutputFolderQuery getOutputFolderQuery() throws JavaModelException {                return new ClasspathModifierQueries.IOutputFolderQuery(fProject.getOutputLocation()) {                    public boolean doQuery(boolean b, OutputFolderValidator validator, IJavaProject project) {                        return true;                    }                    public IPath getOutputLocation() {                        IPath newOutputFolder= null;                        try {                            if (fProject.isOnClasspath(fProject.getUnderlyingResource())) {                                String outputFolderName= PreferenceConstants.getPreferenceStore().getString(PreferenceConstants.SRCBIN_BINNAME);                                newOutputFolder= fProject.getPath().append(outputFolderName);                                return newOutputFolder;                            }                        } catch (JavaModelException e) {                            fail();                        }                        return null;                    }                                        public boolean removeProjectFromClasspath() {                        return true;                    }                };            }            public IInclusionExclusionQuery getInclusionExclusionQuery() throws JavaModelException {                return null;            }            public IOutputLocationQuery getOutputLocationQuery() throws JavaModelException {                return null;            }            public IFolderCreationQuery getFolderCreationQuery() throws JavaModelException {                return null;            }            public ILinkToQuery getLinkFolderQuery() throws JavaModelException {                return null;            }                        public IAddArchivesQuery getExternalArchivesQuery() throws JavaModelException {                return null;            }            public IAddLibrariesQuery getLibrariesQuery() throws JavaModelException {                return null;            }            public void deleteCreatedResources() {            }                    });        operation.run(null);                fSelection.add(addedZipArchive[0]);        fSelection.add(fItems[JAR]);        context= createContext();        addListener(new int[] {REMOVE_FROM_BP, CREATE_LINK, RESET_ALL});        fActionGroup.setContext(context);        reset();    }