BeanPointer.isLeaf() calls JXPathIntrospector.getBeanInfo to get the BeanInfo for the managed class but already has the BeanInfo as a field, passed in constructor. Constructor callers (2) obtain it in the same way as done in isLeaf().
So this code:
return value == null || JXPathIntrospector.getBeanInfo(value.getClass()).isAtomic();
return value == null || this.beanInfo.isAtomic()