NotNull
  public synchronized Set<String> getItems() {
    Set<String> items = itemsRef.get();
    if (items == null) {
      items = Collections.unmodifiableSet(readItems());
      itemsRef = new WeakReference<>(items);
    }

    return items;
  }

NotNull
  public synchronized Set<String> getItems() 