@Override
    public Void timestampShape(TimestampShape shape) {
        if (shape.hasTrait(TimestampFormatTrait.ID)) {
            switch (shape.expectTrait(TimestampFormatTrait.class).getFormat()) {
                case EPOCH_SECONDS:
                    writer.writeInline("$2T.ofEpochSecond($1L.expectNumberNode().getValue().longValue())",
                            varName,
                            Instant.class);
                    return null;
                case HTTP_DATE:
                    writer.writeInline("$2T.from($3T.RFC_1123_DATE_TIME.parse($1L.expectStringNode().getValue()))",
                            varName,
                            Instant.class,
                            DateTimeFormatter.class);
                    return null;
                default:
                    // Fall through on default
                    break;
            }
        }
        writer.writeInline("$2T.parse($1L.expectStringNode().getValue())", varName, Instant.class);
        return null;
    }
Determines how to map a node to a shape.
smithy-trait-codegen/src/main/java/software/amazon/smithy/traitcodegen/generators/FromNodeMapperVisitor.java