code: function( keyCode, strokesPerSnapshotExceeded ) {
  			var keyGroup = UndoManager.getKeyGroup( keyCode ),
  				// Count of keystrokes in current a row.
  				// Note if strokesPerSnapshotExceeded will be exceeded, it'll be restarted.
  				strokesRecorded = this.strokesRecorded[ keyGroup ] + 1;
  
  			strokesPerSnapshotExceeded =
  				( strokesPerSnapshotExceeded || strokesRecorded >= this.strokesLimit );
  
  			if ( !this.typing )
  				onTypingStart( this );
  
  			if ( strokesPerSnapshotExceeded ) {
  				// Reset the count of strokes, so it'll be later assigned to this.strokesRecorded.
  				strokesRecorded = 0;
  
  				this.editor.fire( 'saveSnapshot' );
  			} else {
  				// Fire change event.
  				this.editor.fire( 'change' );
  			}
  
  			// Store recorded strokes count.
  			this.strokesRecorded[ keyGroup ] = strokesRecorded;
  			// This prop will tell in next itaration what kind of group was processed previously.
  			this.previousKeyGroup = keyGroup;
  		}
docs: Handles keystroke support for the undo manager. It is called on `keyup` event for
  keystrokes that can change the editor content.
  
  @param {Number} keyCode The key code.
  @param {Boolean} [strokesPerSnapshotExceeded] When set to `true`, the method will
  behave as if the strokes limit was exceeded regardless of the {@link #strokesRecorded} value.