code: private final void _remove(final BehindRef removeref)
      {
          if (_firstLinkBehind != null)
          {
              if (removeref == _firstLinkBehind)
              {
                  // It's the first in the list ...
                  if (removeref == _lastLinkBehind)
                  {
                      // ... and the only entry, the list is now empty
                      _firstLinkBehind = null;
                      _lastLinkBehind = null;
                  }
                  else
                  {
                      // ... and there are more entries, the first will change
                      BehindRef nextref = removeref._next;
                      removeref._next = null;
                      nextref._prev = null;
                      _firstLinkBehind = nextref;
                  }
              }
              else if (removeref == _lastLinkBehind)
              {
                  // It's the list in the list and not the first also, the last will change
                  BehindRef prevref = removeref._prev;
                  removeref._prev = null;
                  prevref._next = null;
                  _lastLinkBehind = prevref;
              }
              else
              {
                  // It's in the middle of the list
                  BehindRef prevref = removeref._prev;
                  BehindRef nextref = removeref._next;
                  removeref._next = null;
                  removeref._prev = null;
                  prevref._next = nextref;
                  nextref._prev = prevref;
              }
          }
      }
docs: Removes the first AIL in the list of AILs behind the current position of the cursor.
  The list may empty completely as a result.