From 4c5964de23d7e35bc076544a4699526e3af6263c Mon Sep 17 00:00:00 2001
From: Nikita Koksharov <nkoksharov@redisson.pro>
Date: Tue, 21 Jan 2025 13:37:43 +0300
Subject: [PATCH] refactoring

---
 .../src/main/java/org/redisson/RedissonObject.java    | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/redisson/src/main/java/org/redisson/RedissonObject.java b/redisson/src/main/java/org/redisson/RedissonObject.java
index 462e49516..dc2fe2433 100644
--- a/redisson/src/main/java/org/redisson/RedissonObject.java
+++ b/redisson/src/main/java/org/redisson/RedissonObject.java
@@ -483,6 +483,17 @@ public abstract class RedissonObject implements RObject {
         }
     }
 
+    protected final void encode(Collection<Object> params, Consumer<Collection<Object>> func) {
+        try {
+            func.accept(params);
+        } catch (Exception e) {
+            params.forEach(v -> {
+                ReferenceCountUtil.safeRelease(v);
+            });
+            throw e;
+        }
+    }
+
     protected final void encodeMapValues(Collection<Object> params, Collection<?> values) {
         try {
             for (Object object : values) {