/*
   * (non-Javadoc)
   * @see de.hpi.bpt.hypergraph.abs.IDirectedHyperGraph#getEdgesWithTarget(de.hpi.bpt.hypergraph.abs.IVertex)
   */
  public Collection<E> getEdgesWithTarget(V v) {
    Collection<E> result = new ArrayList<E>();

    Iterator<E> i = this.getEdges(v).iterator();
    while (i.hasNext()) {
      E e = i.next();
      if (e.hasTarget(v)) result.add(e);
    }

    return result;
  }
  /*
   * (non-Javadoc)
   * @see de.hpi.bpt.hypergraph.abs.IDirectedHyperGraph#getEdgesWithSourceAndTarget(de.hpi.bpt.hypergraph.abs.IVertex, de.hpi.bpt.hypergraph.abs.IVertex)
   */
  public Collection<E> getEdgesWithSourceAndTarget(V s, V t) {
    Collection<E> result = new ArrayList<E>();

    Collection<E> es = this.getEdges(s);
    Iterator<E> i = es.iterator();
    while (i.hasNext()) {
      E e = i.next();
      if (e.hasSource(s) && e.hasTarget(t)) result.add(e);
    }

    return result;
  }