def _get_swig_type(self, value):
swig_typ = '<STR_LIT>'<EOL>if hasattr(value, '<STR_LIT>'):<EOL><INDENT>type_this = type(value.this)<EOL>type_str = str(type_this)<EOL>if isinstance(type_this, str):<EOL><INDENT>try:<EOL><INDENT>data = value.this.split('<STR_LIT:_>')<EOL>if data[<NUM_LIT:2>] == '<STR_LIT:p>':<EOL><INDENT>swig_typ = '<STR_LIT:str>'<EOL><DEDENT><DEDENT>except AttributeError:<EOL><INDENT>pass<EOL><DEDENT><DEDENT>elif type_str == "<STR_LIT>":<EOL><INDENT>swig_typ = '<STR_LIT>'<EOL><DEDENT>elif type_str.find('<STR_LIT>') > -<NUM_LIT:1>:<EOL><INDENT>swig_typ = '<STR_LIT>'<EOL><DEDENT><DEDENT>return swig_typ<EOL>
Given the object in the form of `value`, this method
        returns information on the SWIG internal object repesentation
        type.  Different versions of SWIG use different object
        representations.  This method provides information on the type
        of internal representation.

        Currently returns one of ['', 'str', 'pycobj', 'pyswig'].