if (!dir.canWrite())
if (!dir.isDirectory())
	public void run()	{		//System.out.println(command);		File dir = folder.getLocation().toFile();		if (!dir.exists())		{			VerilogPlugin.println("working dir: " + dir.getAbsolutePath()					+ " does not exist");		}		else		{			if (!dir.isDirectory())			{				VerilogPlugin.println("working dir: " + dir.getAbsolutePath()						+ " is not a directory");			}			else			{				if (!dir.canWrite())				{					VerilogPlugin.println("working dir: "							+ dir.getAbsolutePath() + " no write access");				}			}		}		Runtime runtime = Runtime.getRuntime();		try		{			Process process = runtime.exec(command, null, dir);			MessageThread stderr = new MessageThread(process.getErrorStream());			MessageThread stdout = new MessageThread(process.getInputStream());			stderr.start();			stdout.start();						try			{				process.waitFor();			}			catch (InterruptedException e)			{				process.destroy();			}		}		catch (IOException e)		{			String msg = "Runtime error: cannot execute " + command;			VerilogPlugin.println(msg);		}	}