code: @Override
      public Map loadAll(Collection keys) {
          if (keys == null || keys.isEmpty()) {
              return Collections.emptyMap();
          }
          Map<Object, Object> map = createHashMap(keys.size());
          Iterator iterator = keys.iterator();
          while (iterator.hasNext()) {
              Object key = iterator.next();
              Data dataKey = toHeapData(key);
  
              DelayedEntry delayedEntry = getFromStagingArea(dataKey);
              if (delayedEntry != null) {
                  Object value = delayedEntry.getValue();
                  if (value != null) {
                      map.put(dataKey, toObject(value));
                  }
                  iterator.remove();
              }
          }
          map.putAll(super.loadAll(keys));
          return map;
      }
docs: {@inheritDoc}
  The method first checks if some of the keys to be loaded
  have entries that are staged to be persisted to the
  underlying store and returns those values instead of loading
  the values from the store.
  The keys which don't have staged entries to be persisted will
  be loaded from the underlying store.
  
  @see com.hazelcast.core.MapLoader#loadAll(Collection)