class OpenSearchSimpleLock extends AbstractSimpleLock {

        private OpenSearchSimpleLock(LockConfiguration lockConfiguration) {
            super(lockConfiguration);
        }

        @Override
        public void doUnlock() {<FILL_FUNCTION_BODY>}
    }

            // Set lockUtil to now or lockAtLeastUntil whichever is later
            try {
                UpdateRequest ur = updateRequest(lockConfiguration)
                        .script(new Script(
                                ScriptType.INLINE,
                                "painless",
                                "ctx._source.lockUntil = params.unlockTime",
                                Collections.singletonMap(
                                        "unlockTime",
                                        lockConfiguration.getUnlockTime().toEpochMilli())));
                highLevelClient.update(ur, RequestOptions.DEFAULT);
            } catch (IOException | OpenSearchException e) {
                throw new LockException("Unexpected exception occurred", e);
            }
        
<no_super_class>