@Override
    public void writeExternal(ObjectOutput out) throws IOException
    {
        super.writeExternal(out);
        ExternalizableUtil.getInstance().writeSafeUTF(out, subId);
        ExternalizableUtil.getInstance().writeSerializable(out, owner);
        ExternalizableUtil.getInstance().writeSerializable(out, subJid);
        ExternalizableUtil.getInstance().writeSerializable(out, state);
    }
Finds the pubsub node subscription that is the subject of this task.

Note that null, instead of a pubsub node subscription instance, might be returned when the pubsub service is not
currently loaded in-memory on the cluster node that the task is executing on (although there is no guarantee that
when this method returns a non-null node subscription, it was previously not loaded in-memory)! The rationale for
this is that this cluster tasks does not need to operate on data that is not in memory, as such operations are the
responsibility of the cluster node that initiates the cluster task.

@return a pubsub node subscription
xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/SubscriptionTask.java