code: private String getText(SToken currNode) {
  
      List<DataSourceSequence> sSequences = ((SDocumentGraph) currNode.getGraph()).
              getOverlappedDataSourceSequence(currNode, SALT_TYPE.STEXT_OVERLAPPING_RELATION);
  
      // only support one text for spanns
      if (sSequences == null || sSequences.size() != 1) {
        log.error("rst supports only one text and only text level");
        return null;
      }
      
      log.debug("sSequences {}", sSequences.toString());
  
      /**
       * Check if it is a text data structure. As described in the salt manual in
       * chapter "5.8 More specific nodes and relations" the start and end point
       * of a range of token is stored in superordinate node of type SSequentialDS
       */
      if (sSequences.get(0).getDataSource() instanceof STextualDS) {
        STextualDS text = ((STextualDS) sSequences.get(0).getDataSource());
        int start = sSequences.get(0).getStart().intValue();
        int end = sSequences.get(0).getEnd().intValue();
        return text.getText().substring(start, end);
  
  
      }
  
      // something fundamentally goes wrong
      log.error("{} instead of {}",
              sSequences.get(0).getDataSource().getClass().getName(),
              STextualDS.class
              .getName());
  
  
      return null;
    }
docs: Gets the overlapping token as string from a node, which are direct
  dominated by this node.
  
  @param currNode
  @return is null, if there is no relation to a token, or there is more then
  one STEXT is overlapped by this node