@Override
public void evaluateSync(String expression, Map<String, String> additionalContext,
EvaluateCallback evaluateCallback)
throws MethodIsBlockingException {
CallbackSemaphore callbackSemaphore = new CallbackSemaphore();
RelayOk relayOk =
evaluateAsync(expression, additionalContext, evaluateCallback, callbackSemaphore);
boolean res = callbackSemaphore.tryAcquireDefault(relayOk);
if (!res) {
evaluateCallback.failure("Timeout");
}