Object callCacheLoader(CacheLoader loader, final Object key,
      final Object aCallbackArgument, boolean preferCD) {
    LoaderHelper loaderHelper = loaderHelperFactory.createLoaderHelper(key, aCallbackArgument,
        false /* netSearchAllowed */, true /* netloadAllowed */, null /* searcher */);
    Object result = loader.load(loaderHelper);
    result = getCache().convertPdxInstanceIfNeeded(result, preferCD);
    return result;
  }
Search for the value in a server (if one exists), then try a loader.

If we find a value, we put it in the cache.

@param preferCD return the CacheDeserializable, if that's what the value is.
@param requestingClient the client making the request, if any
@param clientEvent the client's event, if any. If not null, we set the version tag
@return the deserialized value
geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java