```plantuml
@startuml
state HMS {
left to right direction
[*] --> IDLE_HMS
IDLE_HMS --> AWAITING_WS : LSA_WS_MOVING_HMS
AWAITING_WS --> HMS_MEASURING : HMS_TRIG
state c1 <<choice>>
AWAITING_WS --> c1 : TIMER_FULL() / ITEM_LOST, internalQueue.pop(), removeWS()
c1 --> IDLE_HMS : [internalQueue.empty()]
c1 --> AWAITING_WS : [!internalQueue.empty()]
IDLE_HMS --> ITEM_NOT_EXPECTED : HMS_TRIG / ITEM_NOT_EXPECTED
ITEM_NOT_EXPECTED --> IDLE_HMS : HMS_CLEAR [internalQueue==empty] / WS_TRANSFER_SORTER
ITEM_NOT_EXPECTED--> ITEM_NOT_EXPECTED : LSA_WS_MOVING_HMS / addWSToInternalQueue()
ITEM_NOT_EXPECTED --> AWAITING_WS : HMS_CLEAR [internalQueue!=empty]/WS_TRANSFER_SORTER
state c2 <<choice>>
HMS_MEASURING --> HMS_MEASURING: LSA_WS_MOVING_HMS /addWSToInternalQueue()
HMS_MEASURING --> c2
c2 --> IDLE_HMS : [internalQueue == empty] / HMS_WS_MOVING_SORTER
c2 --> AWAITING_WS : [internalQueue != empty] / HMS_WS_MOVING_SORTER
AWAITING_WS --> AWAITING_WS : LSA_WS_MOVING_HMS / addWSToInternalQueue()
state HMS_MEASURING {
HMS_MEASURING: O--O
}
}
note left of HMS : v1
@enduml
```
{"title":"@plantuml","description":"@plantuml","contributors":"[{\"id\":\"ae7f2703-8be9-4f16-afd7-cdf10930836a\",\"add\":10403,\"del\":9708},{\"id\":\"baaedd08-fa36-40f9-ae4c-30c33a4c19c0\",\"add\":1629,\"del\":1660}]"}