code: @Override
    public final int addLeafEntry(E entry) {
      // entry is not a leaf entry
      if(!(entry instanceof LeafEntry)) {
        throw new UnsupportedOperationException("Entry is not a leaf entry!");
      }
      // this is a not a leaf node
      if(!isLeaf()) {
        throw new UnsupportedOperationException("Node is not a leaf node!");
      }
  
      // leaf node
      return addEntry(entry);
    }
docs: Adds a new leaf entry to this node's children and returns the index of the
  entry in this node's children array. An UnsupportedOperationException will
  be thrown if the entry is not a leaf entry or this node is not a leaf node.
  
  @param entry the leaf entry to be added
  @return the index of the entry in this node's children array
  @throws UnsupportedOperationException if entry is not a leaf entry or this
  node is not a leaf node