import java.util.*;
import java.io.*;

public class Util
{
    public static final Vector<Command> loadCommands (String inputFile, boolean debug)
    {
        /*
         * Open the data file and read it in.
         */

        BufferedReader reader = null;
        Vector<JoltageAdapter> values = new Vector<JoltageAdapter>();

        try
        {
            reader = new BufferedReader(new FileReader(inputFile));
            String line = null;

            while ((line = reader.readLine()) != null)
            {
                values.add(new JoltageAdapter(Integer.parseInt(line), debug));
            }
        }
        catch (Throwable ex)
        {
            ex.printStackTrace();
        }
        finally
        {
            try
            {
                reader.close();
            }
            catch (Throwable ex)
            {
            }
        }

        return values;
    }

    private Util ()
    {
    }
}
@@ -268,30 +268,23 @@
  Vector%3C
-JoltageAdapter
+Command
 %3E values
@@ -297,30 +297,23 @@
  Vector%3C
-JoltageAdapter
+Command
 %3E();%0A%0A  
@@ -436,77 +436,753 @@
 ll;%0A
-%0A            while ((line = reader.readLine()) != null)%0A            %7B
+            Command cmd = null;%0A            String mask = null;%0A            Vector%3CString%3E cmds = null;%0A%0A            while ((line = reader.readLine()) != null)%0A            %7B%0A                if (line.indexOf(Command.MASK) != -1)%0A                %7B%0A                    if (mask != null) // new entry%0A                    %7B%0A                        Command cmd = new Command(mask, cmds);%0A%0A                        values.add(cmd);%0A                        %0A                        cmds = null;%0A                    %7D%0A%0A                    nask = line;%0A                %7D%0A                else%0A                %7B%0A                    if (cmds == null)%0A                        cmds = new Vector%3CString%3E();%0A%0A                    cmds.add(line);%0A                %7D%0A
 %0A   

Update Util.java