mTotals[aType-1]++;
CToken* nsCTokenRecycler::CreateTokenOfType(eHTMLTokenTypes aType,eHTMLTags aTag, const nsString& aString) {  CToken* result;  if(0<mCount[aType-1]) {    result=mTokenCache[aType-1][mCount[aType-1]-1];    result->Reinitialize(aTag,aString);    mTokenCache[aType-1][mCount[aType-1]-1]=0;    mCount[aType-1]--;  }  else {    switch(aType){      case eToken_start:      result=new CStartToken(aTag); break;      case eToken_end:        result=new CEndToken(aTag); break;      case eToken_comment:    result=new CCommentToken(); break;      case eToken_attribute:  result=new CAttributeToken(); break;      case eToken_entity:     result=new CEntityToken(); break;      case eToken_whitespace: result=new CWhitespaceToken(); break;      case eToken_newline:    result=new CNewlineToken(); break;      case eToken_text:       result=new CTextToken(aString); break;      case eToken_script:     result=new CScriptToken(); break;      case eToken_style:      result=new CStyleToken(); break;      case eToken_skippedcontent: result=new CSkippedContentToken(aString); break;        default:          break;    }  }  return result;}