class MetaEntryVersion implements MetaParam.Writable> { ... public static T type() { return (T) MetaEntryVersion.class; } ... } ReadOnlyMap readOnlyMap = ... CompletableFuture readFuture = readOnlyMap.eval("key1", view -> { // The caller wants guarantees that the metadata parameter for version is numeric // e.g. to query the actual version information Optional> version = view.findMetaParam(MetaEntryVersion.type()); return view.get(); });