docs: @Override
  	public Object getValue(ELContext context, Object base, Object property) {
  		if (context == null) {
  			throw new NullPointerException("context is null");
  		}
  		Object result = null;
  		if (isResolvable(base)) {
  			JsonNode resultNode = ((JsonNode) base).get(property.toString());
  			if (resultNode != null && resultNode.isValueNode()) {
  				if (resultNode.isBoolean()) {
  					result = resultNode.asBoolean();
  				} else if (resultNode.isLong()) {
  					result = resultNode.asLong();
  				} else if (resultNode.isBigDecimal() || resultNode.isDouble()) {
  					result = resultNode.asDouble();
  				} else if (resultNode.isTextual()) {
  					result = resultNode.asText();
  				} else {
  					result = resultNode.toString();
  				}
  
  			} else {
  				if (resultNode.isArray()) {
  					result = Context.getProcessEngineConfiguration().getObjectMapper().convertValue(resultNode,
  							List.class);
  				} else {
  					result = resultNode;
  				}
  			}
  			context.setPropertyResolved(true);
  		}
  		return result;
  	}