public accept(visitor: Visitor): void {
        visitor.visitRegion(this);

        this.states.forEach(vertex => vertex.accept(visitor));