code: public synchronized void add(ConversationImpl c)
     {
  		if (tc.isEntryEnabled()) SibTr.entry(this, tc, "add", c);
        
        final int id = c.getId();
        if (contains(id))
        {
           mutableKey.setValue(id);
           if (idToConvTable.get(mutableKey) == reservedObject)
           {
              if (tc.isDebugEnabled()) SibTr.debug(this, tc, "entry present but reserved: "+id);
           }
           else
           {
              if (tc.isDebugEnabled())
              {
                 SibTr.debug(this, tc, "table already contains key of "+id);
                 debugTraceTable(); 
              }
              throw new SIErrorException(TraceNLS.getFormattedMessage(JFapChannelConstants.MSG_BUNDLE, "CONVERSATIONTABLE_INTERNAL_SICJ0048", null, "CONVERSATIONTABLE_INTERNAL_SICJ0048")); // D226223 
           }
        }
        idToConvTable.put(new ImmutableKey(id), c);
        if (tc.isDebugEnabled()) SibTr.debug(this, tc, "add", "[key: "+id+"] -> [value: "+c+"]");
        if (tc.isEntryEnabled()) SibTr.exit(this, tc, "add"); 
     }
docs: begin D181493