code: private List<String> searchTokens(SNode n, long cnr)
    {
      List<String> result = new LinkedList<String>();
      if (n instanceof SToken)
      {
        result.add(n.getId());
        if (componentOfToken.get(n.getId()) == null)
        {
          List<Long> newlist = new LinkedList<Long>();
          newlist.add(cnr);
          componentOfToken.put(n.getId(), newlist);
        }
        else
        {
          List<Long> newlist = componentOfToken.get(n.getId());
          if (!newlist.contains(cnr))
          {
            newlist.add(cnr);
          }
        }
      }
      else
      {
        List<SRelation<SNode, SNode>> outgoing = n.getGraph().getOutRelations(n.getId());
        if(outgoing != null)
        {
          for (SRelation<? extends SNode,? extends SNode> e : outgoing)
          {
            if(!(e instanceof SPointingRelation) && e.getSource() instanceof SNode && e.getTarget() instanceof SNode)
            {
              List<String> Med = searchTokens((SNode) e.getTarget(), cnr);
              for (String s : Med)
              {
                if (!result.contains(s))
                {
                  result.add(s);
                }
              }
            }
          }
        }
      }
      return result;
    }
docs: Collects all Token dominated or covered by all outgoing Edges of AnnisNode a
  @param n
  @param cnr ComponentNumber this tokens will be added for
  @return List of Tokennumbers