public static @NotNull CaretSpecificDataContext create(@NotNull DataContext delegate, @NotNull Caret caret) {
    if (delegate instanceof CaretSpecificDataContext && CommonDataKeys.CARET.getData(delegate) == caret) {
      return (CaretSpecificDataContext)delegate;
    }
    return new CaretSpecificDataContext(delegate, caret);
  }
public static @NotNull CaretSpecificDataContext create(@NotNull DataContext delegate, @NotNull Caret caret)