public static <T> T performWithTypes(@NotNull Function<? super ThreadLocalTypes, ? extends T> action) {
    return performWithTypes(action, true);
  }
public static <T> T performWithTypes(@NotNull Function<? super ThreadLocalTypes, ? extends T> action)