code: @Override
      public Edge addEdge(String label, Vertex vertex, Object... keyValues) {
          // validate label
          ElementHelper.validateLabel(label);
          // vertex must exist
          if (vertex == null)
              throw Graph.Exceptions.argumentCanNotBeNull("vertex");
          // validate properties
          ElementHelper.legalPropertyKeyValueArray(keyValues);
          // transaction should be ready for io operations
          graph.tx().readWrite();
          // add edge
          return session.addEdge(label, this, (Neo4JVertex)vertex, keyValues);
      }
docs: {@inheritDoc}