/// <summary>
        /// Adds an out edge to this vertex.
        /// </summary>
        /// <remarks>
        /// It is not necessary to call the <c>WriteStateAsync()</c> method when adding an edge. Edge state is not stored or written
        /// with the vertex. On activation, if configured, edges will be read into the state for runtime usage.
        /// </remarks>
        /// <param name="edge"></param>
        /// <param name="inVertex"></param>
        public void AddOutEdge([NotNull] IEdge edge, IVertex inVertex)
        {
            if (edge == null)
            {
                throw new ArgumentNullException(nameof(edge));
            }
            if (inVertex == null)
            {
                throw new ArgumentNullException(nameof(inVertex));
            }

            edges.Set(Direction.Out, edge.GetGraphLabel(), inVertex.GetGraphLabel(), inVertex.GetGraphRuntimeId(), edge);
        }