Program: 72613
Project: 72613
Buggy source:
/** 
 * Open a web socket that serves as a connection to the event bus.
 */
private void _openWebSocket(){
  if (!_stopRequested) {
    _client.connectWebsocket("String_Node_Str",new Handler<WebSocket>(){
      @Override public void handle(      WebSocket websocket){
        JsonObject msg=new JsonObject().putString("String_Node_Str","String_Node_Str").putString("String_Node_Str",_address);
        websocket.writeTextFrame(msg.encode());
        _websocket=websocket;
        websocket.dataHandler(new Handler<Buffer>(){
          @Override public void handle(          Buffer buff){
            String msg=buff.toString();
            JsonObject received=new JsonObject(msg);
            if (_buffer == null) {
              _buffer=new ArrayList<StringToken>();
            }
synchronized (_buffer) {
              if (received.getField("String_Node_Str") != null) {
                _buffer.add(new StringToken(received.getField("String_Node_Str").toString()));
              }
            }
            try {
              getDirector().fireAtCurrentRealTime((Actor)subscribe.getContainer());
            }
 catch (            IllegalActionException e) {
              e.printStackTrace();
            }
          }
        }
);
      }
    }
);
    _client.exceptionHandler(new Handler<Throwable>(){
      @Override public void handle(      Throwable event){
        _exception=event;
        _vertx.cancelTimer(_periodicPing);
      }
    }
);
  }
}

Fixed version (ground truth):
/** 
 * Open a web socket that serves as a connection to the event bus.
 */
private void _openWebSocket(){
  if (!_stopRequested) {
    _client.connectWebsocket("String_Node_Str",new Handler<WebSocket>(){
      @Override public void handle(      WebSocket websocket){
        JsonObject msg=new JsonObject().putString("String_Node_Str","String_Node_Str").putString("String_Node_Str",_address);
        websocket.writeTextFrame(msg.encode());
        _websocket=websocket;
        if (subscribe.connectedPortList().size() > 0) {
          websocket.dataHandler(new Handler<Buffer>(){
            @Override public void handle(            Buffer buff){
              String msg=buff.toString();
              JsonObject received=new JsonObject(msg);
              if (_buffer == null) {
                _buffer=new ArrayList<Token>();
              }
synchronized (_buffer) {
                if (received.getField("String_Node_Str") != null) {
                  String body=received.getField("String_Node_Str");
                  if (body.startsWith("String_Node_Str") && body.endsWith("String_Node_Str")) {
                    body=body.substring(1,body.length() - 1);
                  }
                  body=body.replaceAll("String_Node_Str","String_Node_Str");
                  _buffer.add(new StringToken(body));
                }
              }
              try {
                getDirector().fireAtCurrentRealTime((Actor)subscribe.getContainer());
              }
 catch (              IllegalActionException e) {
                _exception=e;
              }
            }
          }
);
        }
      }
    }
);
    _client.exceptionHandler(new Handler<Throwable>(){
      @Override public void handle(      Throwable event){
        _exception=event;
        _vertx.cancelTimer(_periodicPing);
      }
    }
);
  }
}