You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by rd...@apache.org on 2018/08/22 16:44:03 UTC

[1/4] tinkerpop git commit: repleace String loop to String builder

Repository: tinkerpop
Updated Branches:
  refs/heads/tp33 b46c295c0 -> b34515a91


repleace String loop to String builder


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

Branch: refs/heads/tp33
Commit: 7485ae83266e23a92703e5f277602f213742bdc9
Parents: f49b279
Author: Otavio Santana <ot...@gmail.com>
Authored: Wed Aug 22 09:01:08 2018 -0300
Committer: Otavio Santana <ot...@gmail.com>
Committed: Wed Aug 22 10:04:32 2018 -0300

----------------------------------------------------------------------
 .../jsr223/AbstractGremlinScriptEngineFactory.java    |  6 +++---
 .../process/traversal/dsl/GremlinDslProcessor.java    | 12 +++++++-----
 .../traversal/util/DefaultTraversalMetrics.java       | 14 +++++++-------
 3 files changed, 17 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7485ae83/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/AbstractGremlinScriptEngineFactory.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/AbstractGremlinScriptEngineFactory.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/AbstractGremlinScriptEngineFactory.java
index e07e884..e54b8cc 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/AbstractGremlinScriptEngineFactory.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/AbstractGremlinScriptEngineFactory.java
@@ -107,12 +107,12 @@ public abstract class AbstractGremlinScriptEngineFactory implements GremlinScrip
      */
     @Override
     public String getProgram(final String... statements) {
-        String program = "";
+        StringBuilder program = new StringBuilder();
 
         for (String statement : statements) {
-            program = program + statement + System.lineSeparator();
+            program.append(statement).append(System.lineSeparator());
         }
 
-        return program;
+        return program.toString();
     }
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7485ae83/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
index ec6379f..e5fd37a 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
@@ -429,23 +429,25 @@ public class GremlinDslProcessor extends AbstractProcessor {
     private void addMethodBody(final MethodSpec.Builder methodToAdd, final ExecutableElement templateMethod,
                                final String startBody, final String endBody, final Object... statementArgs) {
         final List<? extends VariableElement> parameters = templateMethod.getParameters();
-        String body = startBody;
+        StringBuilder body = new StringBuilder(startBody);
 
         final int numberOfParams = parameters.size();
         for (int ix = 0; ix < numberOfParams; ix++) {
             final VariableElement param = parameters.get(ix);
             methodToAdd.addParameter(ParameterSpec.get(param));
-            body = body + param.getSimpleName();
-            if (ix < numberOfParams - 1) body = body + ",";
+            body.append(param.getSimpleName());
+            if (ix < numberOfParams - 1) {
+                body.append(",");
+            }
         }
 
-        body = body + endBody;
+        body.append(endBody);
 
         // treat a final array as a varargs param
         if (!parameters.isEmpty() && parameters.get(parameters.size() - 1).asType().getKind() == TypeKind.ARRAY)
             methodToAdd.varargs(true);
 
-        methodToAdd.addStatement(body, statementArgs);
+        methodToAdd.addStatement(body.toString(), statementArgs);
     }
 
     private TypeName getOverridenReturnTypeDefinition(final ClassName returnClazz, final String[] typeValues) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7485ae83/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
index c5f290a..e155ab6 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
@@ -109,14 +109,14 @@ public final class DefaultTraversalMetrics implements TraversalMetrics, Serializ
     private void appendMetrics(final Collection<? extends Metrics> metrics, final StringBuilder sb, final int indent) {
         // Append each StepMetric's row. indexToLabelMap values are ordered by index.
         for (Metrics m : metrics) {
-            String rowName = m.getName();
+            StringBuilder rowName = new StringBuilder(m.getName());
 
             // Handle indentation
             for (int ii = 0; ii < indent; ii++) {
-                rowName = "  " + rowName;
+                rowName.insert(0, "  ");
             }
             // Abbreviate if necessary
-            rowName = StringUtils.abbreviate(rowName, 50);
+            rowName = new StringBuilder(StringUtils.abbreviate(rowName.toString(), 50));
 
             // Grab the values
             final Long itemCount = m.getCount(ELEMENT_COUNT_ID);
@@ -125,7 +125,7 @@ public final class DefaultTraversalMetrics implements TraversalMetrics, Serializ
 
             // Build the row string
 
-            sb.append(String.format("%n%-50s", rowName));
+            sb.append(String.format("%n%-50s", rowName.toString()));
 
             if (itemCount != null) {
                 sb.append(String.format(" %21d", itemCount));
@@ -187,11 +187,11 @@ public final class DefaultTraversalMetrics implements TraversalMetrics, Serializ
     private static String padLeft(final String text, final int amountToPad) {
         // not sure why this method needed to exist. stupid string format stuff and commons utilities wouldn't
         // work for some reason in the context this method was used above.
-        String newText = text;
+        StringBuilder newText = new StringBuilder(text);
         for (int ix = 0; ix < amountToPad; ix++) {
-            newText = " " + newText;
+            newText.insert(0, " ");
         }
-        return newText;
+        return newText.toString();
     }
 
     private void computeTotals() {


[2/4] tinkerpop git commit: makes the StringBuilder final

Posted by rd...@apache.org.
makes the StringBuilder final


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

Branch: refs/heads/tp33
Commit: f6ecbff6e036bb246efed3b2db5664a154b14442
Parents: 7485ae8
Author: Otavio Santana <ot...@gmail.com>
Authored: Wed Aug 22 09:19:20 2018 -0300
Committer: Otavio Santana <ot...@gmail.com>
Committed: Wed Aug 22 10:04:49 2018 -0300

----------------------------------------------------------------------
 .../gremlin/jsr223/AbstractGremlinScriptEngineFactory.java   | 2 +-
 .../gremlin/process/traversal/dsl/GremlinDslProcessor.java   | 2 +-
 .../process/traversal/util/DefaultTraversalMetrics.java      | 8 ++++----
 3 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f6ecbff6/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/AbstractGremlinScriptEngineFactory.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/AbstractGremlinScriptEngineFactory.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/AbstractGremlinScriptEngineFactory.java
index e54b8cc..69f4f73 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/AbstractGremlinScriptEngineFactory.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/AbstractGremlinScriptEngineFactory.java
@@ -107,7 +107,7 @@ public abstract class AbstractGremlinScriptEngineFactory implements GremlinScrip
      */
     @Override
     public String getProgram(final String... statements) {
-        StringBuilder program = new StringBuilder();
+        final StringBuilder program = new StringBuilder();
 
         for (String statement : statements) {
             program.append(statement).append(System.lineSeparator());

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f6ecbff6/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
index e5fd37a..b86a9b8 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
@@ -429,7 +429,7 @@ public class GremlinDslProcessor extends AbstractProcessor {
     private void addMethodBody(final MethodSpec.Builder methodToAdd, final ExecutableElement templateMethod,
                                final String startBody, final String endBody, final Object... statementArgs) {
         final List<? extends VariableElement> parameters = templateMethod.getParameters();
-        StringBuilder body = new StringBuilder(startBody);
+        final StringBuilder body = new StringBuilder(startBody);
 
         final int numberOfParams = parameters.size();
         for (int ix = 0; ix < numberOfParams; ix++) {

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/f6ecbff6/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
index e155ab6..2a1b036 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
@@ -109,14 +109,14 @@ public final class DefaultTraversalMetrics implements TraversalMetrics, Serializ
     private void appendMetrics(final Collection<? extends Metrics> metrics, final StringBuilder sb, final int indent) {
         // Append each StepMetric's row. indexToLabelMap values are ordered by index.
         for (Metrics m : metrics) {
-            StringBuilder rowName = new StringBuilder(m.getName());
+            final StringBuilder metricName = new StringBuilder(m.getName());
 
             // Handle indentation
             for (int ii = 0; ii < indent; ii++) {
-                rowName.insert(0, "  ");
+                metricName.insert(0, "  ");
             }
             // Abbreviate if necessary
-            rowName = new StringBuilder(StringUtils.abbreviate(rowName.toString(), 50));
+            final StringBuilder rowName = new StringBuilder(StringUtils.abbreviate(metricName.toString(), 50));
 
             // Grab the values
             final Long itemCount = m.getCount(ELEMENT_COUNT_ID);
@@ -187,7 +187,7 @@ public final class DefaultTraversalMetrics implements TraversalMetrics, Serializ
     private static String padLeft(final String text, final int amountToPad) {
         // not sure why this method needed to exist. stupid string format stuff and commons utilities wouldn't
         // work for some reason in the context this method was used above.
-        StringBuilder newText = new StringBuilder(text);
+        final StringBuilder newText = new StringBuilder(text);
         for (int ix = 0; ix < amountToPad; ix++) {
             newText.insert(0, " ");
         }


[3/4] tinkerpop git commit: changes the StringBuilder operation to optmizes the byte array operation

Posted by rd...@apache.org.
changes the StringBuilder operation to optmizes the byte array operation


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

Branch: refs/heads/tp33
Commit: ca3a3432789d5e5443cb9bacb3dd934937c95797
Parents: f6ecbff
Author: Otavio Santana <ot...@gmail.com>
Authored: Wed Aug 22 10:26:05 2018 -0300
Committer: Otavio Santana <ot...@gmail.com>
Committed: Wed Aug 22 10:26:05 2018 -0300

----------------------------------------------------------------------
 .../process/traversal/util/DefaultTraversalMetrics.java   | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/ca3a3432/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
index 2a1b036..055e3ab 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
@@ -109,12 +109,13 @@ public final class DefaultTraversalMetrics implements TraversalMetrics, Serializ
     private void appendMetrics(final Collection<? extends Metrics> metrics, final StringBuilder sb, final int indent) {
         // Append each StepMetric's row. indexToLabelMap values are ordered by index.
         for (Metrics m : metrics) {
-            final StringBuilder metricName = new StringBuilder(m.getName());
+            final StringBuilder metricName = new StringBuilder();
 
             // Handle indentation
             for (int ii = 0; ii < indent; ii++) {
-                metricName.insert(0, "  ");
+                metricName.append("  ");
             }
+            metricName.append(m.getName());
             // Abbreviate if necessary
             final StringBuilder rowName = new StringBuilder(StringUtils.abbreviate(metricName.toString(), 50));
 
@@ -187,10 +188,11 @@ public final class DefaultTraversalMetrics implements TraversalMetrics, Serializ
     private static String padLeft(final String text, final int amountToPad) {
         // not sure why this method needed to exist. stupid string format stuff and commons utilities wouldn't
         // work for some reason in the context this method was used above.
-        final StringBuilder newText = new StringBuilder(text);
+        final StringBuilder newText = new StringBuilder();
         for (int ix = 0; ix < amountToPad; ix++) {
-            newText.insert(0, " ");
+            newText.append(" ");
         }
+        newText.append(text);
         return newText.toString();
     }
 


[4/4] tinkerpop git commit: Merge branch 'tp32' into tp33

Posted by rd...@apache.org.
Merge branch 'tp32' into tp33


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

Branch: refs/heads/tp33
Commit: b34515a91b2055bef3c4561da65b2a1c5f8617ae
Parents: b46c295 ca3a343
Author: Robert Dale <ro...@gmail.com>
Authored: Wed Aug 22 12:42:46 2018 -0400
Committer: Robert Dale <ro...@gmail.com>
Committed: Wed Aug 22 12:42:46 2018 -0400

----------------------------------------------------------------------
 .../jsr223/AbstractGremlinScriptEngineFactory.java  |  6 +++---
 .../process/traversal/dsl/GremlinDslProcessor.java  | 12 +++++++-----
 .../traversal/util/DefaultTraversalMetrics.java     | 16 +++++++++-------
 3 files changed, 19 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b34515a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/GremlinDslProcessor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b34515a9/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
----------------------------------------------------------------------
diff --cc gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
index ae0bd8e,055e3ab..bfcfacc
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
@@@ -286,10 -188,121 +287,11 @@@ public final class DefaultTraversalMetr
      private static String padLeft(final String text, final int amountToPad) {
          // not sure why this method needed to exist. stupid string format stuff and commons utilities wouldn't
          // work for some reason in the context this method was used above.
-         String newText = text;
+         final StringBuilder newText = new StringBuilder();
          for (int ix = 0; ix < amountToPad; ix++) {
-             newText = " " + newText;
+             newText.append(" ");
          }
-         return newText;
+         newText.append(text);
+         return newText.toString();
      }
 -
 -    private void computeTotals() {
 -        // Create temp list of ordered metrics
 -        final List<MutableMetrics> tempMetrics = new ArrayList<>(this.metrics.size());
 -        for (final String label : this.indexToLabelMap.values()) {
 -            // The indexToLabelMap is sorted by index (key)
 -            tempMetrics.add(this.metrics.get(label).clone());
 -        }
 -
 -        // Calculate total duration
 -        this.totalStepDuration = 0;
 -        tempMetrics.forEach(metric -> this.totalStepDuration += metric.getDuration(MutableMetrics.SOURCE_UNIT));
 -
 -        // Assign %'s
 -        tempMetrics.forEach(m -> {
 -            final double dur = m.getDuration(TimeUnit.NANOSECONDS) * 100.d / this.totalStepDuration;
 -            m.setAnnotation(PERCENT_DURATION_KEY, dur);
 -        });
 -
 -        // Store immutable instances of the calculated metrics
 -        this.computedMetrics = new LinkedHashMap<>(this.metrics.size());
 -        tempMetrics.forEach(it -> this.computedMetrics.put(it.getId(), it.getImmutableClone()));
 -    }
 -
 -    public static DefaultTraversalMetrics merge(final Iterator<DefaultTraversalMetrics> toMerge) {
 -        final DefaultTraversalMetrics newTraversalMetrics = new DefaultTraversalMetrics();
 -
 -        // iterate the incoming TraversalMetrics
 -        toMerge.forEachRemaining(inTraversalMetrics -> {
 -            // aggregate the internal Metrics
 -            inTraversalMetrics.metrics.forEach((metricsId, toAggregate) -> {
 -
 -                MutableMetrics aggregateMetrics = newTraversalMetrics.metrics.get(metricsId);
 -                if (null == aggregateMetrics) {
 -                    // need to create a Metrics to aggregate into
 -                    aggregateMetrics = new MutableMetrics(toAggregate.getId(), toAggregate.getName());
 -
 -                    newTraversalMetrics.metrics.put(metricsId, aggregateMetrics);
 -                    // Set the index of the Metrics
 -                    for (final Map.Entry<Integer, String> entry : inTraversalMetrics.indexToLabelMap.entrySet()) {
 -                        if (metricsId.equals(entry.getValue())) {
 -                            newTraversalMetrics.indexToLabelMap.put(entry.getKey(), metricsId);
 -                            break;
 -                        }
 -                    }
 -                }
 -                aggregateMetrics.aggregate(toAggregate);
 -            });
 -        });
 -        return newTraversalMetrics;
 -    }
 -
 -    public void setMetrics(final Traversal.Admin traversal, final boolean onGraphComputer) {
 -        addTopLevelMetrics(traversal, onGraphComputer);
 -        handleNestedTraversals(traversal, null, onGraphComputer);
 -        computeTotals();
 -    }
 -
 -    private void addTopLevelMetrics(Traversal.Admin traversal, final boolean onGraphComputer) {
 -        final List<ProfileStep> profileSteps = TraversalHelper.getStepsOfClass(ProfileStep.class, traversal);
 -        for (int ii = 0; ii < profileSteps.size(); ii++) {
 -            // The index is necessary to ensure that step order is preserved after a merge.
 -            final ProfileStep step = profileSteps.get(ii);
 -            if (onGraphComputer) {
 -                final MutableMetrics stepMetrics = traversal.getSideEffects().get(step.getId());
 -                this.indexToLabelMap.put(ii, stepMetrics.getId());
 -                this.metrics.put(stepMetrics.getId(), stepMetrics);
 -            } else {
 -                final MutableMetrics stepMetrics = step.getMetrics();
 -                this.indexToLabelMap.put(ii, stepMetrics.getId());
 -                this.metrics.put(stepMetrics.getId(), stepMetrics);
 -            }
 -        }
 -    }
 -
 -    private void handleNestedTraversals(final Traversal.Admin traversal, final MutableMetrics parentMetrics, final boolean onGraphComputer) {
 -        long prevDur = 0;
 -        for (int i = 0; i < traversal.getSteps().size(); i++) {
 -            final Step step = (Step) traversal.getSteps().get(i);
 -            if (!(step instanceof ProfileStep))
 -                continue;
 -
 -            final MutableMetrics metrics = onGraphComputer ?
 -                    traversal.getSideEffects().get(step.getId()) :
 -                    ((ProfileStep) step).getMetrics();
 -
 -            if (null != metrics) { // this happens when a particular branch never received a .next() call (the metrics were never initialized)
 -                if (!onGraphComputer) {
 -                    // subtract upstream duration.
 -                    long durBeforeAdjustment = metrics.getDuration(TimeUnit.NANOSECONDS);
 -                    // adjust duration
 -                    metrics.setDuration(metrics.getDuration(TimeUnit.NANOSECONDS) - prevDur, TimeUnit.NANOSECONDS);
 -                    prevDur = durBeforeAdjustment;
 -                }
 -
 -                if (parentMetrics != null) {
 -                    parentMetrics.addNested(metrics);
 -                }
 -
 -                if (step.getPreviousStep() instanceof TraversalParent) {
 -                    for (Traversal.Admin<?, ?> t : ((TraversalParent) step.getPreviousStep()).getLocalChildren()) {
 -                        handleNestedTraversals(t, metrics, onGraphComputer);
 -                    }
 -                    for (Traversal.Admin<?, ?> t : ((TraversalParent) step.getPreviousStep()).getGlobalChildren()) {
 -                        handleNestedTraversals(t, metrics, onGraphComputer);
 -                    }
 -                }
 -            }
 -        }
 -    }
  }