code: public void connectIfNotConnectedInDirection(N srcValue, E edgeValue, N destValue) {
      LinkedDirectedGraphNode<N, E> src = createDirectedGraphNode(srcValue);
      LinkedDirectedGraphNode<N, E> dest = createDirectedGraphNode(destValue);
      if (!this.isConnectedInDirection(src, Predicates.equalTo(edgeValue), dest)) {
        this.connect(src, edgeValue, dest);
      }
    }
docs: DiGraphNode look ups can be expensive for a large graph operation, prefer this
  method if you have the DiGraphNode available.