code: public String getSynchronousProcessResponse(Long procInstId, String varname)
      throws DataAccessException {
          TransactionWrapper transaction=null;
          try {
              transaction = startTransaction();
              return engineImpl.getServiceProcessResponse(procInstId, varname);
          } catch (Exception e) {
              if (canRetryTransaction(e)) {
                  transaction = (TransactionWrapper)initTransactionRetry(transaction);
                  return ((ProcessExecutor)getTransactionRetrier()).getSynchronousProcessResponse(procInstId, varname);
              }
              else
                  throw new DataAccessException(0, "Failed to get value for variable " + varname, e);
          } finally {
              stopTransaction(transaction);
          }
      }
docs: ///////////////////////////////////////////////////