@Override
    public Object memberShape(MemberShape shape) {
        // Account for recursive shapes.
        // A false return value means it was in the set.
        if (!visited.add(shape)) {
            return LiteralExpression.ANY;
        }

        return model.getShape(shape.getTarget())
                .map(target -> target.accept(this))
                // Rather than fail on broken models during waiter validation,
                // return an ANY to get *some* validation.
                .orElse(LiteralExpression.ANY);
    }
Generates fake data from a modeled shape for static JMESPath analysis.
smithy-waiters/src/main/java/software/amazon/smithy/waiters/ModelRuntimeTypeGenerator.java