public void run()
{
while (!this.Stop)
{
IProcessingState state;
var timeouted =_communication.GetGUIMessage(out state, 20);
if (timeouted)
{
TimeoutState.Process(this, out _timeoutState);
}
else
{
state.Process(this, out _timeoutState);
}
}
}