<E extends @NotNull GroovyPsiElement, T>
  T getCachedValue(E element, @NotNull Function<? super @NotNull E, ? extends T> computation);
<E extends @NotNull GroovyPsiElement, T>
  T getCachedValue(E element, @NotNull Function<? super @NotNull E, ? extends T> computation)