fix: reset vtable_start and vtable_size of PrepareConf/Req (#66)

diff --git a/runner-core/src/main/java/org/apache/apisix/plugin/runner/handler/A6ConfigHandler.java b/runner-core/src/main/java/org/apache/apisix/plugin/runner/handler/A6ConfigHandler.java
index c69e4b3..9590a97 100644
--- a/runner-core/src/main/java/org/apache/apisix/plugin/runner/handler/A6ConfigHandler.java
+++ b/runner-core/src/main/java/org/apache/apisix/plugin/runner/handler/A6ConfigHandler.java
@@ -31,6 +31,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -51,6 +52,15 @@
         Req req = ((A6ConfigRequest) request).getReq();
         long token = ((A6ConfigResponse) response).getConfToken();
         PluginFilterChain chain = createFilterChain(req);
+        ByteBuffer bb = req.getByteBuffer();
+
+        /**
+        * to reset vtable_start and vtable_size of req,
+        * so that req can be reused after being got from the cache.
+        * {@link org.apache.apisix.plugin.runner.handler.A6HttpCallHandler#handle cache.getIfPresent()}
+        * @see <a href="Issues63"> https://github.com/apache/apisix-java-plugin-runner/issues/63</a>
+        * */
+        req.__init(bb.getInt(bb.position()) + bb.position(), bb);
         A6Conf config = new A6Conf(req, chain);
         cache.put(token, config);
     }