code: @Override
      public LockResult unlock(String clientId) {
          if (StringUtils.isBlank(clientId)) {
              throw new IllegalArgumentException("Invalid ClientID!");
          }
          synchronized (this) {
              try {
                  if (StringUtils.isBlank(getClientId())) {
                      return LockResult.NOT_FOUND;
                  }
                  if (getTimestampExpiry() >= System.currentTimeMillis()
                          && !StringUtils.equals(getClientId(), clientId)) {
                      return LockResult.HOLD_BY_ANOTHER_CLIENT;
                  }
                  updateLockHolder(null, 0);
                  return LockResult.SUCCESSFUL;
              } catch (Exception e) {
                  throw e instanceof DLockException ? (DLockException) e : new DLockException(e);
              }
          }
      }
docs: {@inheritDoc}