@NotNull
  SelectionSnapshot getSelectionSnapshot() {
    if (mySelectionSnapshot == null) mySelectionSnapshot = new SelectionSnapshot(this);
    return mySelectionSnapshot;
  }
@NotNull
  SelectionSnapshot getSelectionSnapshot()