Object[] args;
	public static Object runCachedBlock(String id, View view, NameSpace namespace)	{		Object[] args;		if(namespace == null)		{			args = new Object[0];			namespace = internal;		}		else		{			args = new Object[1];			args[0] = namespace;		}		try		{			if(view != null)			{				namespace.setVariable("view",view);				EditPane editPane = view.getEditPane();				namespace.setVariable("editPane",editPane);				namespace.setVariable("buffer",editPane.getBuffer());				namespace.setVariable("textArea",editPane.getTextArea());			}			Object retVal = internal.invokeMethod(id,args,interpForMethods);			if(retVal instanceof Primitive)			{				if(retVal == Primitive.VOID)					return null;				else					return ((Primitive)retVal).getValue();			}			else				return retVal;		}		catch(Throwable e)		{			if(e instanceof TargetError)				e = ((TargetError)e).getTarget();			if(e instanceof InvocationTargetException)				e = ((InvocationTargetException)e).getTargetException();			Log.log(Log.ERROR,BeanShell.class,e);			new BeanShellErrorDialog(view,e.toString());		}		finally		{			try			{				namespace.setVariable("view",null);				namespace.setVariable("editPane",null);				namespace.setVariable("buffer",null);				namespace.setVariable("textArea",null);			}			catch(EvalError e)			{				// can't do much			}		}		return null;	}