docs: protected final List<HistoricVariableUpdate> getDescendingVariableUpdates(final String processInstanceId, final String processVariableName) {
  
          final List<HistoricVariableUpdate> result = new ArrayList<HistoricVariableUpdate>();
  
          final List<HistoricDetail> historicDetails = getHistoryService().createHistoricDetailQuery().variableUpdates().processInstanceId(processInstanceId)
                  .orderByVariableName().asc().orderByTime().desc().list();
  
          boolean reachedTargetVariable = false;
  
          if (historicDetails != null && !historicDetails.isEmpty()) {
              for (final HistoricDetail historicDetail : historicDetails) {
  
                  if (historicDetail != null && historicDetail instanceof HistoricVariableUpdate) {
                      final HistoricVariableUpdate historicVariableUpdate = (HistoricVariableUpdate) historicDetail;
                      final boolean isForTarget = isHistoricVariableUpdateForTargetVariable(processVariableName, historicVariableUpdate);
  
                      if (isForTarget && !reachedTargetVariable) {
                          reachedTargetVariable = true;
                          result.add(historicVariableUpdate);
                      } else if (isForTarget) {
                          result.add(historicVariableUpdate);
                      } else if (reachedTargetVariable) {
                          break;
                      }
                  }
              }
          }
  
          return result;
      }