code: public DevCmdInfo_2[] command_list_query_2() {
  	Util.out4.println("Device_2Impl.command_list_query_2 arrived");
  
  	// Retrieve number of command and allocate memory to send back info
  	final Vector cmd_list = device_class.get_command_list();
  	Util.out4.println(cmd_list.size() + " command(s) for device");
  	final DevCmdInfo_2[] back = new DevCmdInfo_2[cmd_list.size()];
  
  	for (int i = 0; i < cmd_list.size(); i++) {
  	    final Command cmd = (Command) cmd_list.elementAt(i);
  	    final DevCmdInfo_2 tmp = new DevCmdInfo_2();
  	    tmp.cmd_name = cmd.get_name();
  	    tmp.cmd_tag = cmd.get_tag();
  	    tmp.level = cmd.get_disp_level();
  	    tmp.in_type = cmd.get_in_type();
  	    tmp.out_type = cmd.get_out_type();
  	    final String str_in = cmd.get_in_type_desc();
  	    if (str_in != null) {
  		tmp.in_type_desc = str_in;
  	    } else {
  		tmp.in_type_desc = Tango_DescNotSet;
  	    }
  	    final String str_out = cmd.get_out_type_desc();
  	    if (str_out != null) {
  		tmp.out_type_desc = str_out;
  	    } else {
  		tmp.out_type_desc = Tango_DescNotSet;
  	    }
  	    back[i] = tmp;
  	}
  	// Record operation request in black box
  	blackbox.insert_op(Op_Command_list_2);
  
  	Util.out4.println("Device_2Impl.command_list_query_2 exiting");
  	return back;
  
      }
docs: ===========================================================================