} else if (properties.getProperty("COMMAND").equals("maketest")) {
} if (properties.getProperty("COMMAND").equals("maketest")) {
    public void run() {      try {        Properties properties = (Properties) (new ObjectInputStream(sock.getInputStream())).readObject();        if (properties.getProperty("Loadsystems") != null) {  	  ObjectOutputStream os = new ObjectOutputStream(sock.getOutputStream());          os.writeObject(systems[MACHINE]);          os.writeObject(systems[DIRECTORY]);          os.writeObject(systems[MAXNP]);          os.writeObject(systems[EXAMPLES]);          os.writeObject(systems[EXAMPLESHELP]);          return;        }        String     arch       = properties.getProperty("PETSC_ARCH");        String     bopt       = properties.getProperty("BOPT");        int        np         = Integer.parseInt(properties.getProperty("NUMBERPROCESSORS"));        String     directory  = properties.getProperty("DIRECTORY");        /*        if (!systems[EXAMPLES].containsKey(directory)) {           System.out.println("Requested example directory "+directory+" that does not exist");          return;	  } */        String     example    = properties.getProperty("EXAMPLE");        ArrayList  ex = (ArrayList) systems[EXAMPLES].get(directory);        if (!ex.contains(example)) {          System.out.println("Requested example "+example+" that does not exist");          return;        }        String     command    = null,options = "";        if (properties.getProperty("COMMAND").equals("make")) {          command = "petscmake ";        } else if (properties.getProperty("COMMAND").equals("maketest")) {          command = "petscmake ";          example = "run"+example;        } else {	  /* make sure number of processors is reasonable */	  int maxnp = Integer.parseInt((String)systems[MAXNP].get(arch));	  if (maxnp < np) np = maxnp;          command = "petscrun "+np+" ";          if (properties.getProperty("OPTIONS") != null) {	      options += properties.getProperty("OPTIONS");          }          bopt = "";        }        command += systems[MACHINE].get(arch)+" "+                   arch+" "+                   bopt+" "+                   systems[DIRECTORY].get(arch)+"/ "+                   directory+" "+                   example+" "+                   options;        System.out.println("Running command:"+command);        Process make = Runtime.getRuntime().exec(command);        PumpStream pump = new PumpStream(make,sock.getOutputStream());        int len = pump.Pump();        System.out.println("PETScRund: Done returning output, length = "+len);      } catch (java.io.IOException ex) {System.out.println("PETScRund: bad running program");}        catch (java.lang.ClassNotFoundException ex) {System.out.println("PETScRund: bad class running program");}     }