Object leaf;
Object returnValue;
T rootBean;
if (GroupValidationContext.class.isInstance(context)) { // TODO: clean up it but it would need to rework completely our context - get rid of it would be the best
final GroupValidationContext<T> ctx = GroupValidationContext.class.cast(context);
final ElementKind elementKind = ctx.getElementKind();
final Iterator<Path.Node> it = propPath.iterator();
final ElementKind kind = propPath.iterator().next().getKind();
returnValue = ctx.getReturnValue();
if (ElementKind.CONSTRUCTOR.equals(kind)) {
rootBean = null;