while ((c = input.read() ) != -1) {
(INSTANCE.new EmptyInputStreamThread( process.getErrorStream() )).start();    while ( (c = input.read() ) != -1 ) {
	private static final String[] decompile(String className, String classPath, Map environmentProperties ) 	throws DecompilerNotInstalledException	{		String jadExecutable = null;		String polishHome = (String) environmentProperties.get("polish.home");		if (polishHome != null) {			if (File.separatorChar == '\\') {				// this is a windows OS				jadExecutable = polishHome + File.separatorChar + "bin" + File.separatorChar + "jad.exe";			} else {				jadExecutable = polishHome + File.separatorChar + "bin" + File.separatorChar + "jad";			}			if (!new File(jadExecutable).exists()) {				jadExecutable = null;			}		}		if (jadExecutable == null) {			if (File.separatorChar == '\\') { // this is a windows OS				jadExecutable = "jad.exe";			} else { 				jadExecutable = "jad";			}		}		className = TextUtil.replace( className, '.', File.separatorChar );		classPath = classPath + File.separatorChar + className + ".class";		String[] arguments = new String[]{jadExecutable, "-a", "-p", classPath };		try {			Process process = Runtime.getRuntime().exec(arguments);			ArrayList lines = new ArrayList();			StringBuffer log = new StringBuffer( 300 );			int c;			InputStream input = process.getInputStream();			while ((c = input.read() ) != -1) {				if (c == '\n') {					lines.add( log.toString() );					log.delete(0, log.length() );				}  else if (c != '\r') {					log.append((char) c);				}			}			input.close();			return (String[]) lines.toArray( new String[ lines.size() ] );		} catch (IOException e) {			throw new DecompilerNotInstalledException( "Unable to start the \"jad\"-decompiler: [" + e.toString() + "]. jad is available from http://www.kpdus.com/jad.html.");		}	}