@Override
    public Node toNode() {
        ObjectNode.Builder propertiesBuilder = ObjectNode.builder();
        for (Map.Entry<Identifier, Literal> entry : properties.entrySet()) {
            propertiesBuilder.withMember(entry.getKey().toString(), entry.getValue().toNode());
        }

        ObjectNode.Builder headersBuilder = ObjectNode.builder();
        for (Map.Entry<String, List<Expression>> entry : headers.entrySet()) {
            List<Node> expressionNodes = new ArrayList<>();
            for (Expression expression : entry.getValue()) {
                expressionNodes.add(expression.toNode());
            }
            headersBuilder.withMember(entry.getKey(), ArrayNode.fromNodes(expressionNodes));
        }

        return ObjectNode.builder()
                .withMember(URL, url)
                .withMember(PROPERTIES, propertiesBuilder.build())
                .withMember(HEADERS, headersBuilder.build())
                .build();
    }
Get the endpoint {@code authSchemes} property as a map of {@link Identifier} to {@link Literal} values.

@return the list of endpoint {@code authSchemes}.
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/Endpoint.java