code: public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
          Object result = null;
          String methodName = method.getName();
  
          if ("close".equals(methodName) == true) {
              // nothing should be
          } else {
  
              try {
                  result = method.invoke(conn, args);
              } catch (InvocationTargetException e) {
                  throw e.getTargetException();
              } catch (Exception e) {
                  throw new RuntimeException("unexpected invocation exception: " + e.getMessage());
              }
          }
  
          return result;
      }
docs: {@inheritDoc}