docs: private static <K, V> ImmutableMap<K, V> filterMapToKeysPreservingOrder(
        final ImmutableMap<? extends K, ? extends V> map, Iterable<? extends K> keys) {
      final ImmutableMap.Builder<K, V> ret = ImmutableMap.builder();
      for (final K key : keys) {
        final V value = map.get(key);
        checkArgument(value != null, "Key " + key + " not in map");
        ret.put(key, value);
      }
      return ret.build();
    }