@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        } else if (!(o instanceof Schema)) {
            return false;
        } else {
            return toNode().equals(((Schema) o).toNode());
        }
    }
Selects a nested schema using a variadic list of property names
to descend into.

<p>For example, this method can be used to get the items schema nested
inside of an array inside of an object:

<pre>{@code
Schema itemsSchema = schema.selectSchema("properties", "foo", "items").get();
}</pre>

@param segments The properties names to retrieve.
@return Returns the selected Schema.
smithy-jsonschema/src/main/java/software/amazon/smithy/jsonschema/Schema.java