From 6a4138de8f9a43e3716e696b2da35409a26163af Mon Sep 17 00:00:00 2001 From: Tobias Ibounig Date: Fri, 5 Jun 2026 09:27:49 +0200 Subject: [PATCH] perf: avoid Optional.ofNullable wrapping on hook.before() return value Signed-off-by: Tobias Ibounig --- src/main/java/dev/openfeature/sdk/HookSupport.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/dev/openfeature/sdk/HookSupport.java b/src/main/java/dev/openfeature/sdk/HookSupport.java index 0254c07fd..bf92658fd 100644 --- a/src/main/java/dev/openfeature/sdk/HookSupport.java +++ b/src/main/java/dev/openfeature/sdk/HookSupport.java @@ -58,10 +58,8 @@ public void executeBeforeHooks(HookSupportData data) { var hook = hookContextPair.getKey(); var hookContext = hookContextPair.getValue(); - Optional returnedEvalContext = Optional.ofNullable( - hook.before(hookContext, data.getHints())) - .orElse(Optional.empty()); - if (returnedEvalContext.isPresent()) { + Optional returnedEvalContext = hook.before(hookContext, data.getHints()); + if (returnedEvalContext != null && returnedEvalContext.isPresent()) { var returnedContext = returnedEvalContext.get(); // yes, we want to check for reference equality here, this prevents recursive layered contexts if (returnedContext != hookContext.getCtx() && !returnedContext.isEmpty()) {