code: def _init_io_container(self, init_value):
          
          if isinstance(init_value, CLOB_STRING_IO_CLASSES):
              # already a valid StringIO instance, just use it as it is
              v = init_value
          else:
              # works for strings and unicodes. However unicodes must only contain valid ascii chars!
              if PY3:
                  # a io.StringIO also accepts any unicode characters, but we must be sure that only
                  # ascii chars are contained. In PY2 we use a cStringIO class which complains by itself
                  # if it catches this case, so in PY2 no extra check needs to be performed here.
                  init_value.encode('ascii')  # this is just a check, result not needed!
              v = CLOB_STRING_IO(init_value)
          return v
docs: Initialize container to hold lob data.
          Here either a cStringIO or a io.StringIO class is used depending on the Python version.
          For CLobs ensure that an initial unicode value only contains valid ascii chars.