code: @Override
      public synchronized boolean load() {
          Either<Void, T> oldData = data;
          String oldKey = versionedKey;
          try {
              if (isOutOfDate()) {
                  String newVersionedKey = (String) connection.get(key)
                                                              .get();
                  data = Either.right((T) nonAtomicload(newVersionedKey));
                  versionedKey = newVersionedKey;
              } else {
                  return false;
              }
          } catch (Throwable e) {
              data = oldData;
              versionedKey = oldKey;
              logger.debug(e.getMessage(), e);
              throw ExceptionSoftener.throwSoftenedException(e);
          }
          return true;
      }
docs: Load data from remote store if stale