return null;
final WrappedCallbackHolder wrappedCallbackHolder = new WrappedCallbackHolder(callback);
fireAllSubscribeListeners(subject, local, directSubscribe(subject, callback, local, wrappedCallbackHolder));
return new Subscription() {
@Override
public void remove() {
final List<MessageCallback> cbs = local ? localSubscriptions.get(subject) : subscriptions.get(subject);
if (cbs != null) {
cbs.remove(wrappedCallbackHolder.getWrappedCallback());