public void signalContextUpdate(S subject) {
        if (subject == null) {
            throw new NullPointerException("subject");
        }

        // invalidate their cache
        invalidateCache(subject);

        // call event
        this.plugin.getEventDispatcher().dispatchContextUpdate(subject);
    }
Base implementation of {@link ContextManager}.

@param <S> the subject type
@param <P> the player type
common/src/main/java/me/lucko/luckperms/common/context/manager/ContextManager.java