docs: public final void splitByMask(AbstractNode<E> newNode, long[] assignment) {
      assert (isLeaf() == newNode.isLeaf());
      int dest = BitsUtil.nextSetBit(assignment, 0);
      if(dest < 0) {
        throw new AbortException("No bits set in splitting mask.");
      }
      // FIXME: use faster iteration/testing
      int pos = dest;
      while(pos < numEntries) {
        if(BitsUtil.get(assignment, pos)) {
          // Move to new node
          newNode.addEntry(getEntry(pos));
        }
        else {
          // Move to new position
          entries[dest] = entries[pos];
          dest++;
        }
        pos++;
      }
      final int rm = numEntries - dest;
      while(dest < numEntries) {
        entries[dest] = null;
        dest++;
      }
      numEntries -= rm;
    }