private void onHotkeySequenceProgressed() { 		
		if(mHotkeySequenceCandidates != null) {
			if(mHotkeySequenceCandidates.size() == 1 && 
				mHotkeySequenceCandidates.get(0).getFirst().getNext() == null) {
				// There is only one candidate left and it has no further
				// hotkeys in the sequence, publish this and reset sequence
				EInterfaceAction binding = mHotkeySequenceCandidates.get(0).getSecond();
				
				// Does this key have AutoComplete capture?
				if(mHotkeySequenceCandidates.get(0).getFirst().followsWithAutoComplete()) {
					
					
					Construct autoComplete = getSelectedEditor().getConstruct().getParentForBinding(binding);
					if(autoComplete != null) { 
						if(autoComplete.canPerformAction(binding, getSelectedEditor().construct)) { 
							mAutoCompletePublishBinding = binding;
							Application.getApplication().showAutoComplete(this, getSelectedEditor(), this, binding);
							Application.resetError();
						} else { 
							Application.showErrorMessage("Cannot perform this action right now");
						}
					}
				} else {
					Application.resetError();
					publishAction(binding, null);
				}
				
				// Reset the candidate keys
				mHotkeySequenceCandidates = null;
				return ;
			}
			
			if(mHotkeySequenceCandidates.size() == 0) { 
				mHotkeySequenceCandidates = null;
				Application.resetError();
				return ;
			}	
			
			Application.showInfoMessage("Waiting for next hotkey.. (ESC to cancel)");
		}
	}