docs: def load_obj(self, jref, getter=None, parser=None):
          """ load a object(those in spec._version_.objects) from a JSON reference.
          """
          obj = self.__resolver.resolve(jref, getter)
  
          # get root document to check its swagger version.
          tmp = {'_tmp_': {}}
          version = utils.get_swagger_version(obj)
          if version == '1.2':
              # swagger 1.2
              with ResourceListContext(tmp, '_tmp_') as ctx:
                  ctx.parse(obj, jref, self.__resolver, getter)
          elif version == '2.0':
              # swagger 2.0
              with SwaggerContext(tmp, '_tmp_') as ctx:
                  ctx.parse(obj)
          elif version == None and parser:
              with parser(tmp, '_tmp_') as ctx:
                  ctx.parse(obj)
  
              version = tmp['_tmp_'].__swagger_version__ if hasattr(tmp['_tmp_'], '__swagger_version__') else version
          else:
              raise NotImplementedError('Unsupported Swagger Version: {0} from {1}'.format(version, jref))
  
          if not tmp['_tmp_']:
              raise Exception('Unable to parse object from {0}'.format(jref))
  
          logger.info('version: {0}'.format(version))
  
          return tmp['_tmp_'], version