code: protected MetaObject getMetaObject(Object obj) {
      ObjectFactory objectFactory = OBJECT_FACTORY;
      ObjectWrapperFactory objectWrapperFactory = OBJECT_WRAPPER_FACTORY;
      MetaObject metaStatementHandler = MetaObject.forObject(obj, objectFactory, objectWrapperFactory, REFLECTOR_FACTORY);
      // 由于目标类可能被多个拦截器拦截，从而形成多次代理，通过以下循环找出原始代理
      while (metaStatementHandler.hasGetter("h")) {
        Object object = metaStatementHandler.getValue("h");
        metaStatementHandler = MetaObject.forObject(object, objectFactory, objectWrapperFactory, REFLECTOR_FACTORY);
      }
      // 得到原始代理对象的目标类，即StatementHandler实现类
      if (metaStatementHandler.hasGetter("target")) {
        Object object = metaStatementHandler.getValue("target");
        metaStatementHandler = MetaObject.forObject(object, objectFactory, objectWrapperFactory, REFLECTOR_FACTORY);
      }
      return metaStatementHandler;
    }
docs: 获取被拦截的对象(MetaObject包装)
  
  @param obj
  @return