public static SmokeTestCase fromNode(Node node) {
        Builder builder = builder();
        ObjectNode o = node.expectObjectNode();
        builder.id(o.expectStringMember(ID).getValue());
        o.getObjectMember(PARAMS).ifPresent(builder::params);
        o.getObjectMember(VENDOR_PARAMS).ifPresent(builder::vendorParams);
        o.getStringMember(VENDOR_PARAMS_SHAPE).map(StringNode::expectShapeId).ifPresent(builder::vendorParamsShape);
        builder.expectation(Expectation.fromNode(o.expectObjectMember(EXPECT)));
        o.getArrayMember(TAGS).ifPresent(tags -> builder.tags(tags.getElementsAs(StringNode::getValue)));
        return builder.build();
    }
Creates a {@link SmokeTestCase} from a {@link Node}.

@param node Node to deserialize into a {@link SmokeTestCase}.
@return Returns the created {@link SmokeTestCase}.
smithy-smoke-test-traits/src/main/java/software/amazon/smithy/smoketests/traits/SmokeTestCase.java