public void handleProperty()

in bval-jsr/src/main/java/org/apache/bval/jsr/job/ValidateProperty.java [309:337]


        public void handleProperty(String name) {
            final PathImpl p = PathImpl.copy(pathBuilder.result());
            pathBuilder.handleProperty(name);
            findDescriptor.handleProperty(name);

            if (reachable.get().booleanValue()) {
                try {
                    reachable.accept(validatorContext.getTraversableResolver().isReachable(value.get(),
                        pathBuilder.result().getLeafNode(), rootBeanClass, p,
                        findDescriptor.result().getElementType()));
                } catch (ValidationException ve) {
                    throw ve;
                } catch (Exception e) {
                    throw new ValidationException(e);
                }
            }
            if (reachable.get().booleanValue() && value.optional().isPresent() && recordLeaf != null) {
                recordLeaf.accept(p, value.get());

                final PropertyD<?> propertyD =
                    ComposedD.unwrap(findDescriptor.current.element(), PropertyD.class).findFirst().get();
                try {
                    value.accept(propertyD.getValue(value.get()));
                } catch (Exception e) {
                    Exceptions.raise(IllegalStateException::new, e, "Unable to get value of property %s",
                        propertyD.getPropertyName());
                }
            }
        }