/**
   * This returns a list of edges that are outgoing, wrt the direction of this edge, and that are
   * reachable from this edge (e.g. not one way against the direction of this edge).
   *
   * @return
   */
  public List<InferredEdge> getOutgoingTransferableEdges() {
    final List<InferredEdge> result = Lists.newArrayList();
    for (final Edge edge : OtpGraph.filterForStreetEdges(this.endVertex.getOutgoingStreetEdges())) {
      result.add(graph.getInferredEdge(edge));
    }

    return result;
  }
  /**
   * This returns a list of edges that are incoming, wrt the direction of this edge, and that are
   * reachable from this edge (e.g. not one way in the direction of this edge).
   *
   * @return
   */
  public List<InferredEdge> getIncomingTransferableEdges() {

    final List<InferredEdge> result = Lists.newArrayList();
    for (final Edge edge : OtpGraph.filterForStreetEdges(this.startVertex.getIncoming())) {
      if (graph.getBaseGraph().getIdForEdge(edge) != null) result.add(graph.getInferredEdge(edge));
    }

    return result;
  }