Program: 32693
Project: 32693
Buggy source:
@Test public void test_getTraversalWithBaseDocument() throws ArangoException {
  final TraversalQueryOptions traversalQueryOptions=new TraversalQueryOptions();
  traversalQueryOptions.setGraphName(graphName);
  traversalQueryOptions.setStartVertex("String_Node_Str");
  traversalQueryOptions.setDirection(Direction.OUTBOUND);
  final TraversalEntity<BaseDocument,BaseDocument> traversal=driver.getTraversal(traversalQueryOptions,BaseDocument.class,BaseDocument.class);
  assertThat(traversal,is(notNullValue()));
  final List<VertexEntity<BaseDocument>> vertices=traversal.getVertices();
  assertThat(vertices,is(notNullValue()));
  assertThat(vertices.size(),is(4));
  assertThat(vertices.get(0).getEntity().getProperties().size(),is(1));
  assertThat((String)vertices.get(0).getEntity().getAttribute("String_Node_Str"),is("String_Node_Str"));
  assertThat((String)vertices.get(1).getEntity().getAttribute("String_Node_Str"),is("String_Node_Str"));
  assertThat((String)vertices.get(2).getEntity().getAttribute("String_Node_Str"),is("String_Node_Str"));
  assertThat((String)vertices.get(3).getEntity().getAttribute("String_Node_Str"),is("String_Node_Str"));
  final List<PathEntity<BaseDocument,BaseDocument>> paths=traversal.getPaths();
  assertThat(paths,is(notNullValue()));
  assertThat(paths.size(),is(4));
  assertThat(paths.get(0).getEdges().size(),is(0));
  assertThat(paths.get(0).getVertices().size(),is(1));
  assertThat((String)paths.get(0).getVertices().get(0).getEntity().getAttribute("String_Node_Str"),is("String_Node_Str"));
  assertThat(paths.get(3).getEdges().size(),is(2));
  assertThat(paths.get(3).getVertices().size(),is(3));
}

Fixed version (ground truth):
@Test public void test_getTraversalWithBaseDocument() throws ArangoException {
  final TraversalQueryOptions traversalQueryOptions=new TraversalQueryOptions();
  traversalQueryOptions.setGraphName(graphName);
  traversalQueryOptions.setStartVertex("String_Node_Str");
  traversalQueryOptions.setDirection(Direction.OUTBOUND);
  final TraversalEntity<BaseDocument,BaseDocument> traversal=driver.getTraversal(traversalQueryOptions,BaseDocument.class,BaseDocument.class);
  assertThat(traversal,is(notNullValue()));
  final List<VertexEntity<BaseDocument>> vertices=traversal.getVertices();
  assertThat(vertices,is(notNullValue()));
  assertThat(vertices.size(),is(4));
  assertThat(vertices.get(0).getEntity().getProperties().size(),is(1));
  assertThat((String)vertices.get(0).getEntity().getAttribute("String_Node_Str"),is("String_Node_Str"));
  assertThat((String)vertices.get(1).getEntity().getAttribute("String_Node_Str"),is("String_Node_Str"));
  assertThat((String)vertices.get(2).getEntity().getAttribute("String_Node_Str"),is("String_Node_Str"));
  assertThat((String)vertices.get(3).getEntity().getAttribute("String_Node_Str"),is("String_Node_Str"));
  final List<PathEntity<BaseDocument,BaseDocument>> paths=traversal.getPaths();
  assertThat(paths,is(notNullValue()));
  assertThat(paths.size(),is(4));
  assertThat(paths.get(0).getEdges().size(),is(0));
  assertThat(paths.get(0).getVertices().size(),is(1));
  assertThat((String)paths.get(0).getVertices().get(0).getEntity().getAttribute("String_Node_Str"),is("String_Node_Str"));
  assertThat(paths.get(3).getEdges().size(),is(2));
  assertThat(paths.get(3).getVertices().size(),is(3));
  assertThat(paths.get(1).getEdges().size(),is(1));
  EdgeEntity<BaseDocument> edgeEntity=traversal.getPaths().get(1).getEdges().get(0);
  assertThat(edgeEntity.getFromVertexHandle(),is("String_Node_Str"));
  assertThat(edgeEntity.getToVertexHandle(),is("String_Node_Str"));
}