Source:
<code>private void handleSubscriberRequest(final SubscribeRequestTuple request, final SelectionKey key) { try { serverHelperExecutor.submit(new Runnable() { @Override public void run() { final String upstream_identifier = request.getUpstreamIdentifier(); DataList dl = publisherBuffers.get(upstream_identifier); if (dl == null) { dl = Tuple.FAST_VERSION.equals(request.getVersion()) ? new FastDataList(upstream_identifier, blockSize, numberOfCacheBlocks) : new DataList(upstream_identifier, blockSize, numberOfCacheBlocks); DataList odl = publisherBuffers.putIfAbsent(upstream_identifier, dl); if (odl != null) { dl = odl; } } final String identifier = request.getIdentifier(); final String type = request.getStreamType(); final long skipWindowId = (long)request.getBaseSeconds() << 32 | request.getWindowId(); final LogicalNode ln = new LogicalNode(identifier, upstream_identifier, type, dl .newIterator(skipWindowId), skipWindowId, eventloop); int mask = request.getMask(); if (mask != 0) { for (Integer bs : request.getPartitions()) { ln.addPartition(bs, mask); } } final LogicalNode oln = subscriberGroups.put(type, ln); if (oln != null) { oln.boot(); } final Subscriber subscriber = new Subscriber(ln, request.getBufferSize()); <START> eventloop.submit(new Runnable() <END> { @Override public void run() { key.attach(subscriber); subscriber.registered(key); subscriber.connected(); } }); } }); } catch (RejectedExecutionException e) { logger.error("Received subscriber request after server termination. Disconnecting {}.", request, this, key.channel(), e); if (key.isValid()) { try { key.channel().close(); } catch (IOException ioe) { logger.error("Failed to close channel {}", key.channel(), ioe); } } } }</code><technical_language>create a Runnable here? subscriber.connected() runs of operation in Runnable</technical_language>

Target:
private void handleSubscriberRequest(final SubscribeRequestTuple request, final SelectionKey key) { try { serverHelperExecutor.submit(new Runnable() { @Override public void run() { final String upstream_identifier = request.getUpstreamIdentifier(); DataList dl = publisherBuffers.get(upstream_identifier); if (dl == null) { dl = Tuple.FAST_VERSION.equals(request.getVersion()) ? new FastDataList(upstream_identifier, blockSize, numberOfCacheBlocks, BACK_PRESSURE_ENABLED) : new DataList(upstream_identifier, blockSize, numberOfCacheBlocks, BACK_PRESSURE_ENABLED); DataList odl = publisherBuffers.putIfAbsent(upstream_identifier, dl); if (odl != null) { dl = odl; } } final String identifier = request.getIdentifier(); final String type = request.getStreamType(); final long skipWindowId = (long)request.getBaseSeconds() << 32 | request.getWindowId(); final LogicalNode ln = new LogicalNode(identifier, upstream_identifier, type, dl .newIterator(skipWindowId), skipWindowId, eventloop); int mask = request.getMask(); if (mask != 0) { for (Integer bs : request.getPartitions()) { ln.addPartition(bs, mask); } } final LogicalNode oln = subscriberGroups.put(type, ln); if (oln != null) { oln.boot(); } final Subscriber subscriber = new Subscriber(ln, request.getBufferSize()); eventloop.submit(new Runnable() { @Override public void run() { key.attach(subscriber); subscriber.registered(key); subscriber.connected(); } }); } }); } catch (RejectedExecutionException e) { logger.error("Received subscriber request after server termination. Disconnecting {}.", request, this, key.channel(), e); if (key.isValid()) { try { key.channel().close(); } catch (IOException ioe) { logger.error("Failed to close channel {}", key.channel(), ioe); } } } }