code: function isBlockEndPoint(node, offset) {
  	return (!node.parentNode && offset == getNodeLength(node))
  		|| (offset < node.childNodes.length
  		&& isVisible(node.childNodes[offset])
  		&& isBlockNode(node.childNodes[offset]));
  }
docs: "A boundary point (node, offset) is a block end point if either node's parent is null and offset is node's length; or node has a child with index offset, and that child is a visible block node."