public void decompile(String className, Writer writer,
			ProgressListener progress) throws java.io.IOException {
		if (searchPath == null) {
			String classPath = System.getProperty("java.class.path").replace(
					File.pathSeparatorChar, altPathSeparatorChar);
			searchPath = new SearchPath(classPath);
		}

		ClassInfo.setClassPath(searchPath);
		ClassInfo clazz = ClassInfo.forName(className);
		ImportHandler imports = new ImportHandler(importPackageLimit,
				importClassLimit);
		TabbedPrintWriter tabbedWriter = new TabbedPrintWriter(writer, imports,
				false);
		ClassAnalyzer clazzAna = new ClassAnalyzer(null, clazz, imports);
		clazzAna.dumpJavaFile(tabbedWriter, progress);
		writer.flush();
	}