public void add(String readerId, String antennaId, String epc) throws SimulatorServerException {
   try {
     SimulatorClientStub readerSimulatorStub =
         (SimulatorClientStub) readerSimulators.get(readerId);
     if (readerSimulatorStub == null) {
       throw new SimulatorServerException("No such reader '" + readerId + "' available");
     }
     readerSimulatorStub.add(antennaId, epc);
   } catch (IOException e) {
     e.printStackTrace();
   }
 }
  private void register(Socket socket) throws IOException {
    InputStream in = socket.getInputStream();

    // get arguments
    StringBuffer definition = new StringBuffer();
    int buf = in.read();
    do {
      definition.append((char) buf);
      buf = in.read();
    } while ((char) buf != SimulatorServerTokens.EOL);

    SimulatorClientStub readerSimulator =
        new SimulatorClientStub(socket.getOutputStream(), definition.toString());
    readerSimulators.put(readerSimulator.getReaderId(), readerSimulator);
  }