if in EventDispatchThread we are processing a ActionEvent
the EventQueue.getDispatchingEventTime returns current system time.
it's possible that this time value is greater than the timestamp of
KeyEvents posted later than the ActionEvent being dispatched.
so if we use this time value to call
we might not get the desired behavior(hold any keyEvent which is
posted after the current event)