PositionalGroupCursorCreator(
     Group group, int hKeyBindingPosition, boolean deep, Table hKeyType, Table shortenUntil) {
   super(group);
   this.hKeyBindingPosition = hKeyBindingPosition;
   this.deep = deep;
   if ((shortenUntil == hKeyType) || shortenUntil.isDescendantOf(hKeyType)) {
     shortenUntil = null;
     hKeyType = null;
   }
   this.shortenUntil = shortenUntil;
   this.hKeyType = hKeyType;
   assert (hKeyType == null) == (shortenUntil == null) : hKeyType + " ~ " + shortenUntil;
   assert hKeyType == null || hKeyType.isDescendantOf(shortenUntil)
       : hKeyType + " is not a descendant of " + shortenUntil;
 }