@Override
        public Trait createTrait(ShapeId target, Node value) {
            ObjectNode objectNode = value.expectObjectNode();

            EndpointPatternType endpointPatternType = EndpointPatternType
                    .fromNode(objectNode.expectStringMember(ENDPOINT_PATTERN_TYPE));

            StandardPartitionalEndpointsTrait.Builder builder = builder()
                    .sourceLocation(value)
                    .endpointPatternType(endpointPatternType);

            if (objectNode.containsMember(PARTITION_ENDPOINT_SPECIAL_CASES)) {
                for (Map.Entry<String, Node> entry : objectNode.expectObjectMember(PARTITION_ENDPOINT_SPECIAL_CASES)
                        .getStringMap()
                        .entrySet()) {
                    List<PartitionEndpointSpecialCase> partitionEndpointSpecialCases = new ArrayList<>();
                    for (Node node : entry.getValue().expectArrayNode().getElements()) {
                        partitionEndpointSpecialCases.add(PartitionEndpointSpecialCase.fromNode(node));
                    }
                    builder.putPartitionEndpointSpecialCase(
                            entry.getKey(),
                            Collections.unmodifiableList(partitionEndpointSpecialCases));
                }
            }

            StandardPartitionalEndpointsTrait result = builder.build();
            result.setNodeCache(value);
            return result;
        }
Gets the endpoint pattern type defined in the trait.

@return Returns a {@link EndpointPatternType}
smithy-aws-endpoints/src/main/java/software/amazon/smithy/rulesengine/aws/traits/StandardPartitionalEndpointsTrait.java