AtmosphereRequest request = new AtmosphereRequest.Builder().headers(m).pathInfo("/a").build();
request.setAttribute(FrameworkConfig.WEBSOCKET_MESSAGE, null);
processor.open(w, request, AtmosphereResponse.newInstance(framework.getAtmosphereConfig(), request, w));
final AtomicBoolean dirtyDisconnect = new AtomicBoolean();
request.setAttribute(SUSPENDED_ATMOSPHERE_RESOURCE_UUID, w.resource().uuid());
m.put(HeaderConfig.X_ATMOSPHERE_TRANSPORT, HeaderConfig.WEBSOCKET_TRANSPORT);
request.headers(m);
AtmosphereResource dup = framework.getAtmosphereConfig().resourcesFactory()
.create(framework.config, w.resource().uuid(), request).suspend();
w.resource(dup);