docs: def addString(self, s):
          """
          Creates a reference to C{s}. If the reference already exists, that
          reference is returned.
  
          @type s: C{str}
          @param s: The string to be referenced.
          @rtype: C{int}
          @return: The reference index.
  
          @raise TypeError: The parameter C{s} is not of C{basestring} type.
          """
          if not isinstance(s, basestring):
              raise TypeError
  
          if len(s) == 0:
              return -1
  
          return self.strings.append(s)