internal virtual void  init(int p1, ActionList p2, ConstantPool p3, String p4, DefineFunction p5)
		{
			at = p1;
			actions = p2;
			pool = p3;
			className = p4;
			function = p5;
		}
		public virtual void  constantPool(ConstantPool action)
		{
		}
		public override void  constantPool(ConstantPool action)
		{
			cpool = action;
			start(action);
			out_Renamed.WriteLine(" [" + action.pool.Length + "]");
		}
		public Disassembler(StreamWriter out_Renamed, ConstantPool cpool, String comment):this(out_Renamed, false, 0)
		{
			this.cpool = cpool;
			this.comment = comment;
		}
		public static void  disassemble(ActionList list, ConstantPool pool, int startIndex, int endIndex, StreamWriter out_Renamed)
		{
			Disassembler d = new Disassembler(out_Renamed, pool, "    ");
			d.Format = "    0x%08O  %a";
			d.ShowLineRecord = false;
			
			// probe backward for a register record if any to set up register to variable name mapping
			int at = list.lastIndexOf(ActionList.sactionRegisterRecord, startIndex);
			if (at > - 1)
				d.registerRecord_Renamed_Field = (RegisterRecord) list.getAction(at);
			
			// now dump the contents of our request
			list.visit(d, startIndex, endIndex);
			out_Renamed.Flush();
		}