You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2017/07/13 17:48:23 UTC

[35/52] [abbrv] tinkerpop git commit: Improve comments in Gremlin-DotNet, especially for the GLV part

Improve comments in Gremlin-DotNet, especially for the GLV part


Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/eb9ff718
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/eb9ff718
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/eb9ff718

Branch: refs/heads/TINKERPOP-1552-master
Commit: eb9ff718682c32b5ef2fcf2326e10d4da1c53533
Parents: d0d9e13
Author: Florian Hockmann <fh...@florian-hockmann.de>
Authored: Thu Jun 15 15:09:58 2017 +0200
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Jul 13 13:46:48 2017 -0400

----------------------------------------------------------------------
 gremlin-dotnet/glv/AnonymousTraversal.template  |   9 +-
 gremlin-dotnet/glv/Enum.template                |   4 +-
 gremlin-dotnet/glv/GraphTraversal.template      |  14 +-
 .../glv/GraphTraversalSource.template           |  44 ++-
 gremlin-dotnet/glv/NamingConversions.template   |   6 +-
 gremlin-dotnet/glv/P.template                   |   4 +-
 .../Gremlin.Net/Process/Traversal/Barrier.cs    |   4 +-
 .../Gremlin.Net/Process/Traversal/Bytecode.cs   |   2 +-
 .../Process/Traversal/Cardinality.cs            |   4 +-
 .../src/Gremlin.Net/Process/Traversal/Column.cs |   4 +-
 .../Process/Traversal/DefaultTraversal.cs       |   2 +-
 .../Gremlin.Net/Process/Traversal/Direction.cs  |   4 +-
 .../Process/Traversal/GraphSONVersion.cs        |   4 +-
 .../Process/Traversal/GraphTraversal.cs         | 305 ++++++++++++++++++-
 .../Process/Traversal/GraphTraversalSource.cs   |  52 +++-
 .../Process/Traversal/GryoVersion.cs            |   4 +-
 .../Process/Traversal/NamingConversions.cs      |   6 +-
 .../Gremlin.Net/Process/Traversal/Operator.cs   |   4 +-
 .../src/Gremlin.Net/Process/Traversal/Order.cs  |   4 +-
 .../src/Gremlin.Net/Process/Traversal/P.cs      |   4 +-
 .../src/Gremlin.Net/Process/Traversal/Pick.cs   |   4 +-
 .../src/Gremlin.Net/Process/Traversal/Pop.cs    |   4 +-
 .../src/Gremlin.Net/Process/Traversal/Scope.cs  |   4 +-
 .../src/Gremlin.Net/Process/Traversal/T.cs      |   4 +-
 .../src/Gremlin.Net/Process/Traversal/__.cs     | 279 ++++++++++++++++-
 .../src/Gremlin.Net/Structure/Graph.cs          |   8 +
 26 files changed, 728 insertions(+), 59 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/glv/AnonymousTraversal.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/AnonymousTraversal.template b/gremlin-dotnet/glv/AnonymousTraversal.template
index 33002bf..9bc7257 100644
--- a/gremlin-dotnet/glv/AnonymousTraversal.template
+++ b/gremlin-dotnet/glv/AnonymousTraversal.template
@@ -24,18 +24,25 @@
 using System.Collections.Generic;
 using Gremlin.Net.Structure;
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
     /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
+    ///     An anonymous <see cref="GraphTraversal{SType, EType}" />.
     /// </summary>
     public static class __
     {
+        /// <summary>
+        ///     Starts an empty <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public static GraphTraversal<object, object> Start()
         {
             return new GraphTraversal<object, object>();
         }
 <% anonStepMethods.each { method -> %>
+        /// <summary>
+        ///     Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the <%= method.methodName %> step to that traversal.
+        /// </summary>
         public static GraphTraversal<object, <%= method.t2 %>> <%= toCSharpMethodName.call(method.methodName) %><%= method.tParam %>(params object[] args)
         {
             return new GraphTraversal<object, object>().<%= toCSharpMethodName.call(method.methodName) %><%= method.tParam %>(args);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/glv/Enum.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/Enum.template b/gremlin-dotnet/glv/Enum.template
index 664db45..25537f4 100644
--- a/gremlin-dotnet/glv/Enum.template
+++ b/gremlin-dotnet/glv/Enum.template
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum <%= enumClass.simpleName %>
     {
         <%= constants %>

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/glv/GraphTraversal.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/GraphTraversal.template b/gremlin-dotnet/glv/GraphTraversal.template
index b782ffa..d514e16 100644
--- a/gremlin-dotnet/glv/GraphTraversal.template
+++ b/gremlin-dotnet/glv/GraphTraversal.template
@@ -24,18 +24,27 @@
 using System.Collections.Generic;
 using Gremlin.Net.Structure;
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
     /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
+    ///     Graph traversals are the primary way in which graphs are processed.
     /// </summary>
     public class GraphTraversal<S, E> : DefaultTraversal<S, E>
     {
+        /// <summary>
+        ///     Initializes a new instance of the <see cref="GraphTraversal{SType, EType}" /> class.
+        /// </summary>
         public GraphTraversal()
             : this(new List<ITraversalStrategy>(), new Bytecode())
         {
         }
 
+        /// <summary>
+        ///     Initializes a new instance of the <see cref="GraphTraversal{SType, EType}" /> class.
+        /// </summary>
+        /// <param name="traversalStrategies">The traversal strategies to be used by this graph traversal at evaluation time.</param>
+        /// <param name="bytecode">The <see cref="Bytecode" /> associated with the construction of this graph traversal.</param>
         public GraphTraversal(ICollection<ITraversalStrategy> traversalStrategies, Bytecode bytecode)
         {
             TraversalStrategies = traversalStrategies;
@@ -53,6 +62,9 @@ namespace Gremlin.Net.Process.Traversal
         }
 
 <% graphStepMethods.each { method -> %>
+        /// <summary>
+        ///     Adds the <%= method.methodName %> step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< <%= method.t1 %> , <%= method.t2 %> > <%= toCSharpMethodName.call(method.methodName) %><%= method.tParam %> (params object[] args)
         {
             Bytecode.AddStep("<%= method.methodName %>", args);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/glv/GraphTraversalSource.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/GraphTraversalSource.template b/gremlin-dotnet/glv/GraphTraversalSource.template
index 880f793..7a945f8 100644
--- a/gremlin-dotnet/glv/GraphTraversalSource.template
+++ b/gremlin-dotnet/glv/GraphTraversalSource.template
@@ -21,26 +21,48 @@
 
 #endregion
 
+using System;
 using System.Collections.Generic;
 using Gremlin.Net.Process.Remote;
 using Gremlin.Net.Process.Traversal.Strategy.Decoration;
 using Gremlin.Net.Structure;
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
     /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
+    ///     A <see cref="GraphTraversalSource" /> is the primary DSL of the Gremlin traversal machine.
+    ///     It provides access to all the configurations and steps for Turing complete graph computing.
     /// </summary>
     public class GraphTraversalSource
     {
+        /// <summary>
+        ///     Gets or sets the traversal strategies associated with this graph traversal source.
+        /// </summary>
         public ICollection<ITraversalStrategy> TraversalStrategies { get; set; }
+
+        /// <summary>
+        ///     Gets or sets the <see cref="Traversal.Bytecode" /> associated with the current state of this graph traversal
+        ///     source.
+        /// </summary>
         public Bytecode Bytecode { get; set; }
 
-         public GraphTraversalSource()
+        /// <summary>
+        ///     Initializes a new instance of the <see cref="GraphTraversalSource" /> class.
+        /// </summary>
+        public GraphTraversalSource()
             : this(new List<ITraversalStrategy>(), new Bytecode())
         {
         }
 
+        /// <summary>
+        ///     Initializes a new instance of the <see cref="GraphTraversalSource" /> class.
+        /// </summary>
+        /// <param name="traversalStrategies">The traversal strategies associated with this graph traversal source.</param>
+        /// <param name="bytecode">
+        ///     The <see cref="Traversal.Bytecode" /> associated with the current state of this graph traversal
+        ///     source.
+        /// </param>
         public GraphTraversalSource(ICollection<ITraversalStrategy> traversalStrategies, Bytecode bytecode)
         {
             TraversalStrategies = traversalStrategies;
@@ -56,11 +78,21 @@ namespace Gremlin.Net.Process.Traversal
             return source;
         }
 <% } %>
+        [Obsolete("Use the Bindings class instead.", false)]
         public GraphTraversalSource WithBindings(object bindings)
         {
             return this;
         }
 
+        /// <summary>
+        ///     Configures the <see cref="GraphTraversalSource" /> as a "remote" to issue the
+        ///     <see cref="GraphTraversal{SType, EType}" /> for execution elsewhere.
+        /// </summary>
+        /// <param name="remoteConnection">
+        ///     The <see cref="IRemoteConnection" /> instance to use to submit the
+        ///     <see cref="GraphTraversal{SType, EType}" />.
+        /// </param>
+        /// <returns>A <see cref="GraphTraversalSource" /> configured to use the provided <see cref="IRemoteConnection" />.</returns>
         public GraphTraversalSource WithRemote(IRemoteConnection remoteConnection)
         {
             var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),
@@ -69,6 +101,10 @@ namespace Gremlin.Net.Process.Traversal
             return source;
         }
 
+        /// <summary>
+        ///     Add a GraphComputer class used to execute the traversal.
+        ///     This adds a <see cref="VertexProgramStrategy" /> to the strategies.
+        /// </summary>
         public GraphTraversalSource WithComputer(string graphComputer = null, int? workers = null, string persist = null,
             string result = null, ITraversal vertices = null, ITraversal edges = null,
             Dictionary<string, dynamic> configuration = null)
@@ -77,6 +113,10 @@ namespace Gremlin.Net.Process.Traversal
         }
 
 <% sourceSpawnMethods.each { method -> %>
+        /// <summary>
+        ///     Spawns a <see cref="GraphTraversal{SType, EType}" /> off this graph traversal source and adds the <%= method.methodName %> step to that
+        ///     traversal.
+        /// </summary>
         public GraphTraversal< <%= method.typeArguments.join(",") %> > <%= toCSharpMethodName.call(method.methodName) %>(params object[] args)
         {
             var traversal = new GraphTraversal< <%= method.typeArguments.join(",") %> >(TraversalStrategies, new Bytecode(Bytecode));

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/glv/NamingConversions.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/NamingConversions.template b/gremlin-dotnet/glv/NamingConversions.template
index b997dee..201e74b 100644
--- a/gremlin-dotnet/glv/NamingConversions.template
+++ b/gremlin-dotnet/glv/NamingConversions.template
@@ -23,15 +23,13 @@
 
 using System.Collections.Generic;
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     internal static class NamingConversions
     {
         /// <summary>
-        /// Gets the Java name equivalent for a given enum value
+        ///     Gets the Java name equivalent for a given enum value
         /// </summary>
         internal static string GetEnumJavaName(string typeName, string value)
         {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/glv/P.template
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/glv/P.template b/gremlin-dotnet/glv/P.template
index 5be695d..6a62414 100644
--- a/gremlin-dotnet/glv/P.template
+++ b/gremlin-dotnet/glv/P.template
@@ -21,10 +21,12 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
     /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
+    ///     A <see cref="P" /> is a predicate of the form Func&lt;object, bool&gt;.
+    ///     That is, given some object, return true or false.
     /// </summary>
     public class P
     {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Barrier.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Barrier.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Barrier.cs
index 543fda6..aa4040a 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Barrier.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Barrier.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum Barrier
     {
         NormSack

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Bytecode.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Bytecode.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Bytecode.cs
index b35e8db..693d331 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Bytecode.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Bytecode.cs
@@ -31,7 +31,7 @@ namespace Gremlin.Net.Process.Traversal
     /// <remarks>
     ///     Bytecode is simply a list of ordered instructions.
     ///     Bytecode can be serialized between environments and machines by way of a GraphSON representation.
-    ///     Thus, Gremlin-CSharp can create bytecode in C# and ship it to Gremlin-Java for evaluation in Java.
+    ///     Thus, Gremlin-DotNet can create bytecode in C# and ship it to Gremlin-Java for evaluation in Java.
     /// </remarks>
     public class Bytecode
     {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Cardinality.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Cardinality.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Cardinality.cs
index b47dd32..0296380 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Cardinality.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Cardinality.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum Cardinality
     {
         List,Set,Single

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Column.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Column.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Column.cs
index 063c26e..15e248c 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Column.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Column.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum Column
     {
         Keys,Values

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs
index 2652df3..d9dfe10 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/DefaultTraversal.cs
@@ -36,7 +36,7 @@ namespace Gremlin.Net.Process.Traversal
         private IEnumerator<Traverser> _traverserEnumerator;
 
         /// <summary>
-        ///     Gets the <see cref="Bytecode" /> representation of this traversal.
+        ///     Gets the <see cref="Traversal.Bytecode" /> representation of this traversal.
         /// </summary>
         public Bytecode Bytecode { get; protected set; }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Direction.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Direction.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Direction.cs
index 5f6717e..27d3934 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Direction.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Direction.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum Direction
     {
         Both,In,Out

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphSONVersion.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphSONVersion.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphSONVersion.cs
index c72ae8e..cc66fba 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphSONVersion.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphSONVersion.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum GraphSONVersion
     {
         V1_0,V2_0

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs
index 5aaaef0..34f5bfb 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs
@@ -24,18 +24,27 @@
 using System.Collections.Generic;
 using Gremlin.Net.Structure;
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
     /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
+    ///     Graph traversals are the primary way in which graphs are processed.
     /// </summary>
     public class GraphTraversal<S, E> : DefaultTraversal<S, E>
     {
+        /// <summary>
+        ///     Initializes a new instance of the <see cref="GraphTraversal{SType, EType}" /> class.
+        /// </summary>
         public GraphTraversal()
             : this(new List<ITraversalStrategy>(), new Bytecode())
         {
         }
 
+        /// <summary>
+        ///     Initializes a new instance of the <see cref="GraphTraversal{SType, EType}" /> class.
+        /// </summary>
+        /// <param name="traversalStrategies">The traversal strategies to be used by this graph traversal at evaluation time.</param>
+        /// <param name="bytecode">The <see cref="Bytecode" /> associated with the construction of this graph traversal.</param>
         public GraphTraversal(ICollection<ITraversalStrategy> traversalStrategies, Bytecode bytecode)
         {
             TraversalStrategies = traversalStrategies;
@@ -53,588 +62,882 @@ namespace Gremlin.Net.Process.Traversal
         }
 
 
+        /// <summary>
+        ///     Adds the V step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > V (params object[] args)
         {
             Bytecode.AddStep("V", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the addE step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Edge > AddE (params object[] args)
         {
             Bytecode.AddStep("addE", args);
             return Wrap< S , Edge >(this);
         }
 
+        /// <summary>
+        ///     Adds the addInE step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Edge > AddInE (params object[] args)
         {
             Bytecode.AddStep("addInE", args);
             return Wrap< S , Edge >(this);
         }
 
+        /// <summary>
+        ///     Adds the addOutE step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Edge > AddOutE (params object[] args)
         {
             Bytecode.AddStep("addOutE", args);
             return Wrap< S , Edge >(this);
         }
 
+        /// <summary>
+        ///     Adds the addV step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > AddV (params object[] args)
         {
             Bytecode.AddStep("addV", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the aggregate step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Aggregate (params object[] args)
         {
             Bytecode.AddStep("aggregate", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the and step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > And (params object[] args)
         {
             Bytecode.AddStep("and", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the as step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > As (params object[] args)
         {
             Bytecode.AddStep("as", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the barrier step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Barrier (params object[] args)
         {
             Bytecode.AddStep("barrier", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the both step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > Both (params object[] args)
         {
             Bytecode.AddStep("both", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the bothE step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Edge > BothE (params object[] args)
         {
             Bytecode.AddStep("bothE", args);
             return Wrap< S , Edge >(this);
         }
 
+        /// <summary>
+        ///     Adds the bothV step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > BothV (params object[] args)
         {
             Bytecode.AddStep("bothV", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the branch step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Branch<E2> (params object[] args)
         {
             Bytecode.AddStep("branch", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the by step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > By (params object[] args)
         {
             Bytecode.AddStep("by", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the cap step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Cap<E2> (params object[] args)
         {
             Bytecode.AddStep("cap", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the choose step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Choose<E2> (params object[] args)
         {
             Bytecode.AddStep("choose", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the coalesce step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Coalesce<E2> (params object[] args)
         {
             Bytecode.AddStep("coalesce", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the coin step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Coin (params object[] args)
         {
             Bytecode.AddStep("coin", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the constant step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Constant<E2> (params object[] args)
         {
             Bytecode.AddStep("constant", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the count step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , long > Count (params object[] args)
         {
             Bytecode.AddStep("count", args);
             return Wrap< S , long >(this);
         }
 
+        /// <summary>
+        ///     Adds the cyclicPath step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > CyclicPath (params object[] args)
         {
             Bytecode.AddStep("cyclicPath", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the dedup step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Dedup (params object[] args)
         {
             Bytecode.AddStep("dedup", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the drop step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Drop (params object[] args)
         {
             Bytecode.AddStep("drop", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the emit step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Emit (params object[] args)
         {
             Bytecode.AddStep("emit", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the filter step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Filter (params object[] args)
         {
             Bytecode.AddStep("filter", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the flatMap step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > FlatMap<E2> (params object[] args)
         {
             Bytecode.AddStep("flatMap", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the fold step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Fold<E2> (params object[] args)
         {
             Bytecode.AddStep("fold", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the from step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > From (params object[] args)
         {
             Bytecode.AddStep("from", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the group step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Group (params object[] args)
         {
             Bytecode.AddStep("group", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the groupCount step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > GroupCount (params object[] args)
         {
             Bytecode.AddStep("groupCount", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the groupV3d0 step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > GroupV3d0 (params object[] args)
         {
             Bytecode.AddStep("groupV3d0", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the has step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Has (params object[] args)
         {
             Bytecode.AddStep("has", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the hasId step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > HasId (params object[] args)
         {
             Bytecode.AddStep("hasId", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the hasKey step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > HasKey (params object[] args)
         {
             Bytecode.AddStep("hasKey", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the hasLabel step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > HasLabel (params object[] args)
         {
             Bytecode.AddStep("hasLabel", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the hasNot step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > HasNot (params object[] args)
         {
             Bytecode.AddStep("hasNot", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the hasValue step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > HasValue (params object[] args)
         {
             Bytecode.AddStep("hasValue", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the id step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , object > Id (params object[] args)
         {
             Bytecode.AddStep("id", args);
             return Wrap< S , object >(this);
         }
 
+        /// <summary>
+        ///     Adds the identity step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Identity (params object[] args)
         {
             Bytecode.AddStep("identity", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the in step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > In (params object[] args)
         {
             Bytecode.AddStep("in", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the inE step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Edge > InE (params object[] args)
         {
             Bytecode.AddStep("inE", args);
             return Wrap< S , Edge >(this);
         }
 
+        /// <summary>
+        ///     Adds the inV step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > InV (params object[] args)
         {
             Bytecode.AddStep("inV", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the inject step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Inject (params object[] args)
         {
             Bytecode.AddStep("inject", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the is step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Is (params object[] args)
         {
             Bytecode.AddStep("is", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the key step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , string > Key (params object[] args)
         {
             Bytecode.AddStep("key", args);
             return Wrap< S , string >(this);
         }
 
+        /// <summary>
+        ///     Adds the label step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , string > Label (params object[] args)
         {
             Bytecode.AddStep("label", args);
             return Wrap< S , string >(this);
         }
 
+        /// <summary>
+        ///     Adds the limit step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Limit<E2> (params object[] args)
         {
             Bytecode.AddStep("limit", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the local step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Local<E2> (params object[] args)
         {
             Bytecode.AddStep("local", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the loops step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , int > Loops (params object[] args)
         {
             Bytecode.AddStep("loops", args);
             return Wrap< S , int >(this);
         }
 
+        /// <summary>
+        ///     Adds the map step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Map<E2> (params object[] args)
         {
             Bytecode.AddStep("map", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the mapKeys step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > MapKeys<E2> (params object[] args)
         {
             Bytecode.AddStep("mapKeys", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the mapValues step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > MapValues<E2> (params object[] args)
         {
             Bytecode.AddStep("mapValues", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the match step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , IDictionary<string, E2> > Match<E2> (params object[] args)
         {
             Bytecode.AddStep("match", args);
             return Wrap< S , IDictionary<string, E2> >(this);
         }
 
+        /// <summary>
+        ///     Adds the max step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Max<E2> (params object[] args)
         {
             Bytecode.AddStep("max", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the mean step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Mean<E2> (params object[] args)
         {
             Bytecode.AddStep("mean", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the min step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Min<E2> (params object[] args)
         {
             Bytecode.AddStep("min", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the not step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Not (params object[] args)
         {
             Bytecode.AddStep("not", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the option step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Option (params object[] args)
         {
             Bytecode.AddStep("option", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the optional step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Optional<E2> (params object[] args)
         {
             Bytecode.AddStep("optional", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the or step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Or (params object[] args)
         {
             Bytecode.AddStep("or", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the order step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Order (params object[] args)
         {
             Bytecode.AddStep("order", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the otherV step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > OtherV (params object[] args)
         {
             Bytecode.AddStep("otherV", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the out step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > Out (params object[] args)
         {
             Bytecode.AddStep("out", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the outE step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Edge > OutE (params object[] args)
         {
             Bytecode.AddStep("outE", args);
             return Wrap< S , Edge >(this);
         }
 
+        /// <summary>
+        ///     Adds the outV step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > OutV (params object[] args)
         {
             Bytecode.AddStep("outV", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the pageRank step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > PageRank (params object[] args)
         {
             Bytecode.AddStep("pageRank", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the path step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Path > Path (params object[] args)
         {
             Bytecode.AddStep("path", args);
             return Wrap< S , Path >(this);
         }
 
+        /// <summary>
+        ///     Adds the peerPressure step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > PeerPressure (params object[] args)
         {
             Bytecode.AddStep("peerPressure", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the profile step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Profile (params object[] args)
         {
             Bytecode.AddStep("profile", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the program step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Program (params object[] args)
         {
             Bytecode.AddStep("program", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the project step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , IDictionary<string, E2> > Project<E2> (params object[] args)
         {
             Bytecode.AddStep("project", args);
             return Wrap< S , IDictionary<string, E2> >(this);
         }
 
+        /// <summary>
+        ///     Adds the properties step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Properties<E2> (params object[] args)
         {
             Bytecode.AddStep("properties", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the property step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Property (params object[] args)
         {
             Bytecode.AddStep("property", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the propertyMap step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , IDictionary<string, E2> > PropertyMap<E2> (params object[] args)
         {
             Bytecode.AddStep("propertyMap", args);
             return Wrap< S , IDictionary<string, E2> >(this);
         }
 
+        /// <summary>
+        ///     Adds the range step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Range<E2> (params object[] args)
         {
             Bytecode.AddStep("range", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the repeat step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Repeat (params object[] args)
         {
             Bytecode.AddStep("repeat", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the sack step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Sack (params object[] args)
         {
             Bytecode.AddStep("sack", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the sample step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Sample (params object[] args)
         {
             Bytecode.AddStep("sample", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the select step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , IDictionary<string, E2> > Select<E2> (params object[] args)
         {
             Bytecode.AddStep("select", args);
             return Wrap< S , IDictionary<string, E2> >(this);
         }
 
+        /// <summary>
+        ///     Adds the sideEffect step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > SideEffect (params object[] args)
         {
             Bytecode.AddStep("sideEffect", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the simplePath step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > SimplePath (params object[] args)
         {
             Bytecode.AddStep("simplePath", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the store step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Store (params object[] args)
         {
             Bytecode.AddStep("store", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the subgraph step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Edge > Subgraph (params object[] args)
         {
             Bytecode.AddStep("subgraph", args);
             return Wrap< S , Edge >(this);
         }
 
+        /// <summary>
+        ///     Adds the sum step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Sum<E2> (params object[] args)
         {
             Bytecode.AddStep("sum", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the tail step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Tail<E2> (params object[] args)
         {
             Bytecode.AddStep("tail", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the timeLimit step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > TimeLimit (params object[] args)
         {
             Bytecode.AddStep("timeLimit", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the times step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Times (params object[] args)
         {
             Bytecode.AddStep("times", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the to step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > To (params object[] args)
         {
             Bytecode.AddStep("to", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the toE step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Edge > ToE (params object[] args)
         {
             Bytecode.AddStep("toE", args);
             return Wrap< S , Edge >(this);
         }
 
+        /// <summary>
+        ///     Adds the toV step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , Vertex > ToV (params object[] args)
         {
             Bytecode.AddStep("toV", args);
             return Wrap< S , Vertex >(this);
         }
 
+        /// <summary>
+        ///     Adds the tree step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Tree (params object[] args)
         {
             Bytecode.AddStep("tree", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the unfold step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Unfold<E2> (params object[] args)
         {
             Bytecode.AddStep("unfold", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the union step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Union<E2> (params object[] args)
         {
             Bytecode.AddStep("union", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the until step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Until (params object[] args)
         {
             Bytecode.AddStep("until", args);
             return Wrap< S , E >(this);
         }
 
+        /// <summary>
+        ///     Adds the value step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Value<E2> (params object[] args)
         {
             Bytecode.AddStep("value", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the valueMap step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , IDictionary<string, E2> > ValueMap<E2> (params object[] args)
         {
             Bytecode.AddStep("valueMap", args);
             return Wrap< S , IDictionary<string, E2> >(this);
         }
 
+        /// <summary>
+        ///     Adds the values step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E2 > Values<E2> (params object[] args)
         {
             Bytecode.AddStep("values", args);
             return Wrap< S , E2 >(this);
         }
 
+        /// <summary>
+        ///     Adds the where step to this <see cref="GraphTraversal{SType, EType}" />.
+        /// </summary>
         public GraphTraversal< S , E > Where (params object[] args)
         {
             Bytecode.AddStep("where", args);

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs
index 1380be7..317afad 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs
@@ -21,26 +21,48 @@
 
 #endregion
 
+using System;
 using System.Collections.Generic;
 using Gremlin.Net.Process.Remote;
 using Gremlin.Net.Process.Traversal.Strategy.Decoration;
 using Gremlin.Net.Structure;
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
     /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
+    ///     A <see cref="GraphTraversalSource" /> is the primary DSL of the Gremlin traversal machine.
+    ///     It provides access to all the configurations and steps for Turing complete graph computing.
     /// </summary>
     public class GraphTraversalSource
     {
+        /// <summary>
+        ///     Gets or sets the traversal strategies associated with this graph traversal source.
+        /// </summary>
         public ICollection<ITraversalStrategy> TraversalStrategies { get; set; }
+
+        /// <summary>
+        ///     Gets or sets the <see cref="Traversal.Bytecode" /> associated with the current state of this graph traversal
+        ///     source.
+        /// </summary>
         public Bytecode Bytecode { get; set; }
 
-         public GraphTraversalSource()
+        /// <summary>
+        ///     Initializes a new instance of the <see cref="GraphTraversalSource" /> class.
+        /// </summary>
+        public GraphTraversalSource()
             : this(new List<ITraversalStrategy>(), new Bytecode())
         {
         }
 
+        /// <summary>
+        ///     Initializes a new instance of the <see cref="GraphTraversalSource" /> class.
+        /// </summary>
+        /// <param name="traversalStrategies">The traversal strategies associated with this graph traversal source.</param>
+        /// <param name="bytecode">
+        ///     The <see cref="Traversal.Bytecode" /> associated with the current state of this graph traversal
+        ///     source.
+        /// </param>
         public GraphTraversalSource(ICollection<ITraversalStrategy> traversalStrategies, Bytecode bytecode)
         {
             TraversalStrategies = traversalStrategies;
@@ -96,11 +118,21 @@ namespace Gremlin.Net.Process.Traversal
             return source;
         }
 
+        [Obsolete("Use the Bindings class instead.", false)]
         public GraphTraversalSource WithBindings(object bindings)
         {
             return this;
         }
 
+        /// <summary>
+        ///     Configures the <see cref="GraphTraversalSource" /> as a "remote" to issue the
+        ///     <see cref="GraphTraversal{SType, EType}" /> for execution elsewhere.
+        /// </summary>
+        /// <param name="remoteConnection">
+        ///     The <see cref="IRemoteConnection" /> instance to use to submit the
+        ///     <see cref="GraphTraversal{SType, EType}" />.
+        /// </param>
+        /// <returns>A <see cref="GraphTraversalSource" /> configured to use the provided <see cref="IRemoteConnection" />.</returns>
         public GraphTraversalSource WithRemote(IRemoteConnection remoteConnection)
         {
             var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies),
@@ -109,6 +141,10 @@ namespace Gremlin.Net.Process.Traversal
             return source;
         }
 
+        /// <summary>
+        ///     Add a GraphComputer class used to execute the traversal.
+        ///     This adds a <see cref="VertexProgramStrategy" /> to the strategies.
+        /// </summary>
         public GraphTraversalSource WithComputer(string graphComputer = null, int? workers = null, string persist = null,
             string result = null, ITraversal vertices = null, ITraversal edges = null,
             Dictionary<string, dynamic> configuration = null)
@@ -117,6 +153,10 @@ namespace Gremlin.Net.Process.Traversal
         }
 
 
+        /// <summary>
+        ///     Spawns a <see cref="GraphTraversal{SType, EType}" /> off this graph traversal source and adds the E step to that
+        ///     traversal.
+        /// </summary>
         public GraphTraversal< Edge,Edge > E(params object[] args)
         {
             var traversal = new GraphTraversal< Edge,Edge >(TraversalStrategies, new Bytecode(Bytecode));
@@ -124,6 +164,10 @@ namespace Gremlin.Net.Process.Traversal
             return traversal;
         }
 
+        /// <summary>
+        ///     Spawns a <see cref="GraphTraversal{SType, EType}" /> off this graph traversal source and adds the V step to that
+        ///     traversal.
+        /// </summary>
         public GraphTraversal< Vertex,Vertex > V(params object[] args)
         {
             var traversal = new GraphTraversal< Vertex,Vertex >(TraversalStrategies, new Bytecode(Bytecode));
@@ -131,6 +175,10 @@ namespace Gremlin.Net.Process.Traversal
             return traversal;
         }
 
+        /// <summary>
+        ///     Spawns a <see cref="GraphTraversal{SType, EType}" /> off this graph traversal source and adds the addV step to that
+        ///     traversal.
+        /// </summary>
         public GraphTraversal< Vertex,Vertex > AddV(params object[] args)
         {
             var traversal = new GraphTraversal< Vertex,Vertex >(TraversalStrategies, new Bytecode(Bytecode));

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GryoVersion.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GryoVersion.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GryoVersion.cs
index c271a9f..76a263d 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GryoVersion.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GryoVersion.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum GryoVersion
     {
         V1_0

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/NamingConversions.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/NamingConversions.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/NamingConversions.cs
index bfee0da..aecdc57 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/NamingConversions.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/NamingConversions.cs
@@ -23,15 +23,13 @@
 
 using System.Collections.Generic;
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     internal static class NamingConversions
     {
         /// <summary>
-        /// Gets the Java name equivalent for a given enum value
+        ///     Gets the Java name equivalent for a given enum value
         /// </summary>
         internal static string GetEnumJavaName(string typeName, string value)
         {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Operator.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Operator.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Operator.cs
index a7a01ee..d98d9ba 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Operator.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Operator.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum Operator
     {
         AddAll,And,Assign,Div,Max,Min,Minus,Mult,Or,Sum,SumLong

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Order.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Order.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Order.cs
index a59daf5..2e0c4ea 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Order.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Order.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum Order
     {
         Decr,Incr,KeyDecr,KeyIncr,Shuffle,ValueDecr,ValueIncr

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
index ee184e6..e017402 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/P.cs
@@ -21,10 +21,12 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
     /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
+    ///     A <see cref="P" /> is a predicate of the form Func&lt;object, bool&gt;.
+    ///     That is, given some object, return true or false.
     /// </summary>
     public class P
     {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pick.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pick.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pick.cs
index 2306cc0..2231cda 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pick.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pick.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum Pick
     {
         Any,None

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pop.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pop.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pop.cs
index 72ea8d9..01c6e1a 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pop.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Pop.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum Pop
     {
         All,First,Last

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Scope.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Scope.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Scope.cs
index b19d709..e443252 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Scope.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Scope.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum Scope
     {
         Global,Local

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/eb9ff718/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/T.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/T.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/T.cs
index ccd0242..f914916 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/T.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/T.cs
@@ -21,11 +21,9 @@
 
 #endregion
 
+// THIS IS A GENERATED FILE - DO NOT MODIFY THIS FILE DIRECTLY - see pom.xml
 namespace Gremlin.Net.Process.Traversal
 {
-    /// <summary>
-    ///     THIS IS A GENERATED CLASS - DO NOT MODIFY THIS CLASS DIRECTLY - see pom.xml
-    /// </summary>
     public enum T
     {
         Id,Key,Label,Value