nsISupports* aState,
nsIPresState* aState,
nsLayoutHistoryState::AddState(PRUint32 aContentID,                                                               nsISupports* aState,                                nsIStatefulFrame::StateType aStateType){  nsresult rv = NS_OK;  HistoryKey key(aContentID, aStateType);  void * res = mStates.Put(&key, (void *) aState);  /* nsHashTable seems to return null when it actually added   * the element in to the table. If another element was already   * present in the table for the key, it seems to return the    * element that was already present. Not sure if that was   * the intended behavior   */  if (res)  {    printf("nsLayoutHistoryState::AddState OOPS!. There was already a state in the hash table for the key\n");    rv = NS_ERROR_UNEXPECTED;  }  return rv;}