if (line == null) {   if (reply.isEmpty()) {  return reply; } else {  throw new TorControlSyntaxError("Connection to Tor " + " broke down while receiving reply!"); } }
    protected final ArrayList readReply() throws IOException {        ArrayList reply = new ArrayList();        char c;        do {            String line = input.readLine();            if (debugOutput != null)                debugOutput.println("<< "+line);            if (line.length() < 4)                throw new TorControlSyntaxError("Line (\""+line+"\") too short");            String status = line.substring(0,3);            c = line.charAt(3);            String msg = line.substring(4);            String rest = null;            if (c == '+') {                StringBuffer data = new StringBuffer();                while (true) {                    line = input.readLine();                    if (debugOutput != null)                        debugOutput.print("<< "+line);                    if (line.equals("."))                        break;                    else if (line.startsWith("."))                        line = line.substring(1);                    data.append(line).append('\n');                }                rest = data.toString();            }            reply.add(new ReplyLine(status, msg, rest));        } while (c != ' ');        return reply;    }