title: how to add a vertex only if it doesn't exist and continue this single traversal with other graph mutations?
body: <p>Currently I have this gremlin/groovy code:</p>
  
  <pre><code>if(!g.V().has("Number","number","3").hasNext()) {
     g.addV("Number").property("number","3")
  }
  </code></pre>
  
  <p>Is it possible to have the same result without using multiple traversals?</p>
  
  <p>I tried this and it doesn't work (it doesn't add either Number or User vertices)</p>
  
  <pre><code>g.V().choose(has("Number","number", "3"),
          addV("Number").property("number", "3"),
          has("Number","number", "3")
      ).as("number")
     .addV("User").property("uuid","test uuuid")
     .forEachRemaining(System.out::println);
  </code></pre>
  
  <p>I tried what it was suggested here (<a href="https://stackoverflow.com/a/33965737/986160">https://stackoverflow.com/a/33965737/986160</a>) but it doesn't allow me to continue my single traversal with adding another user in a single transaction for DSE:</p>
  
  <pre><code>g.V()
   .has("Number","number", "3")
  .tryNext()
  .orElseGet(
     () -&gt; g.addV("Number")
            .property("number", "3").next()
   );
  </code></pre>
  
  <p>Thanks!</p>