code: public int handleCloseGroup() {
  		int result = errOK;
  		this.closeGroupCount++;	// stats
  
  		if (this.getTokeniserState() != TOKENISER_SKIP_GROUP) {
  			if(debugParser) {
  				RtfParser.outputDebug(this.rtfDoc, groupLevel, "DEBUG: handleCloseGroup()");
  				if(this.lastCtrlWordParam != null)
  					RtfParser.outputDebug(this.rtfDoc, groupLevel, "DEBUG: LastCtrlWord=" + this.lastCtrlWordParam.ctrlWord);
  				RtfParser.outputDebug(this.rtfDoc, groupLevel, "DEBUG: grouplevel=" + Integer.toString(groupLevel));
  				RtfParser.outputDebug(this.rtfDoc, groupLevel, "DEBUG: destination=" + this.getCurrentDestination().toString());
  				RtfParser.outputDebug(this.rtfDoc, groupLevel, "");
  			}
  			RtfDestination dest = this.getCurrentDestination();
  			boolean handled = false;
  			
  			if(dest != null) {
  				handled = dest.handleCloseGroup();
  			}
  			if(debugParser) {
  				RtfParser.outputDebug(this.rtfDoc, groupLevel, "DEBUG: After dest.handleCloseGroup(); handled = " + Boolean.toString(handled));
  				RtfParser.outputDebug(this.rtfDoc, groupLevel, "");
  			}
  		}
  		
  		if(this.stackState.size() >0 ) {
  			this.currentState = (RtfParserState)this.stackState.pop();
  		} else {
  			result = errStackUnderflow;
  		}
  		
  		this.docGroupLevel--;
  		this.groupLevel--;
  		
  		if (this.getTokeniserState() == TOKENISER_SKIP_GROUP && this.groupLevel < this.skipGroupLevel) {
  			this.setTokeniserState(TOKENISER_NORMAL);
  		}
  
  		return result;	
  	}
docs: Handles close group tokens. (})
  
  @return errOK if ok, other if an error occurred.
  @since 2.1.3