private void checkNotNull(final Object argument, final String message) {
        try {
            if (argument == null) {
                throw new NullPointerException(message);
            }
        } catch (final NullPointerException e) {
            if (allowNull) {
                Log.debug("Allowing storage of null within Cache: ", e); // Gives us a trace for debugging.
            } else {
                throw e;
            }
        }
    }
Creates a new cache object wrapper. The size of the Cacheable object
must be passed in in order to prevent another possibly expensive
lookup by querying the object itself for its size.<p>

@param object the underlying Object to wrap.
@param size   the size of the Cacheable object in bytes.
xmppserver/src/main/java/org/jivesoftware/util/cache/DefaultCache.java