public void refresh(){
		if(!canrun)
			return;
		CGroupNode newDelete = dispCache;
		CGroupNode newDisp = Renderer.paintDialog(currentSeq, parent.gui.getBounds());
		CGroupNode fadeGroup = new CGroupNode(fadeGroupName);
		for(ACItem item : newDisp.getChildrenCopy()){
			if(!(item.getName().endsWith(bgsuffix) || item.getName().endsWith(framesuffix) || item.getName().endsWith(charsuffix))){
				fadeGroup.addChild(item);
				newDisp.removeChild(item);
			}
		}
		fadeGroup.setOpacity(0);
		newDisp.addChild(fadeGroup);
		if(newDelete != null && newDisp.getName().equals(newDelete.getName())){
			return;
		}
		dispCache = newDisp;
		parent.gui.getMasterNode().addChild(dispCache);
		parent.gui.refreshControls();
		parent.accFading(fadeGroup, 1, fadeLen, fadeAcc);
		if(newDelete != null){
			parent.accFading(newDelete, -1, fadeLen, fadeAcc);
			if(toDelete != null)
				actionPerformed(null);
			toDelete = newDelete;
			fadeTimer.start();
		}
	}