private static java.util.Vector parseConfigFile(String fileName, PrintStream out, PrintStream err) throws
            FileNotFoundException, IOException, UnknownHostException {
        java.util.Vector result = new java.util.Vector();
        FileInputStream in = new FileInputStream(fileName);
        java.util.Properties props = new java.util.Properties();
        props.load(in);
        in.close();
        for (int i = 0;; i++) {
            String srcAddr = props.getProperty(propertyPrefix + "." + i + ".sourceAddr");
            String srcPort = props.getProperty(propertyPrefix + "." + i + ".sourcePort");
            if (srcPort == null) {
                break;
            }
            String dstAddr = props.getProperty(propertyPrefix + "." + i + ".destAddr");
            String dstPort = props.getProperty(propertyPrefix + "." + i + ".destPort");
            if (dstAddr == null) {
                throw new IllegalArgumentException("Missing destination address for proxy " + i);
            }
            if (dstPort == null) {
                throw new IllegalArgumentException("Missing destination port for proxy " + i);
            }
            result.addElement(addProxy(srcAddr, srcPort, dstAddr, dstPort, out, err));
        }
        return result;
    }