test_class.declarator: a = new TraversalStrategiesTest.StrategyA()
test_class.original_string: TraversalStrategy
              a = new TraversalStrategiesTest.StrategyA(),
              b = new TraversalStrategiesTest.StrategyB(),
              c = new TraversalStrategiesTest.StrategyC(),
              d = new TraversalStrategiesTest.StrategyD(),
              e = new TraversalStrategiesTest.StrategyE(),
              k = new TraversalStrategiesTest.StrategyK(),
              l = new TraversalStrategiesTest.StrategyL(),
              m = new TraversalStrategiesTest.StrategyM(),
              n = new TraversalStrategiesTest.StrategyN(),
              o = new TraversalStrategiesTest.StrategyO();
test_class.type: TraversalStrategy
test_class.var_name: a
test_class.file: gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalStrategiesTest.java
test_class.identifier: DefaultTraversalStrategiesTest
test_case.body: @Test
      public void testCircularDependency2() {
          //Circular dependency => throws exception
          TraversalStrategies s = new DefaultTraversalStrategies();
          try {
              s.addStrategies(d, c, k, a, e, b);
              fail();
          } catch (IllegalStateException ex) {
              assertTrue(ex.getMessage().toLowerCase().contains("cyclic"));
          }
      }
test_case.class_method_signature: DefaultTraversalStrategiesTest.testCircularDependency2()
test_case.full_signature: @Test public void testCircularDependency2()
test_case.identifier: testCircularDependency2
test_case.invocations: addStrategies fail assertTrue contains toLowerCase getMessage
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCircularDependency2()
focal_class.declarator: traversalStrategies = new ArrayList<>()
focal_class.modifier: protected
focal_class.original_string: protected List<TraversalStrategy<?>> traversalStrategies = new ArrayList<>();
focal_class.type: List<TraversalStrategy<?>>
focal_class.var_name: traversalStrategies
focal_class.file: gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalStrategies.java
focal_class.identifier: DefaultTraversalStrategies
focal_class.interfaces: implements TraversalStrategies
focal_class.class_method_signature: DefaultTraversalStrategies.addStrategies(final TraversalStrategy<?>... strategies)
focal_class.full_signature: @Override @SuppressWarnings({"unchecked", "varargs"}) public TraversalStrategies addStrategies(final TraversalStrategy<?>... strategies)
focal_class.identifier: addStrategies
focal_class.modifiers: @Override @SuppressWarnings({"unchecked", "varargs"}) public
focal_class.parameters: (final TraversalStrategy<?>... strategies)
focal_class.return: TraversalStrategies
focal_class.signature: TraversalStrategies addStrategies(final TraversalStrategy<?>... strategies)
focal_class.class_method_signature: DefaultTraversalStrategies.removeStrategies(final Class<? extends TraversalStrategy>... strategyClasses)
focal_class.full_signature: @Override @SuppressWarnings({"unchecked", "varargs"}) public TraversalStrategies removeStrategies(final Class<? extends TraversalStrategy>... strategyClasses)
focal_class.identifier: removeStrategies
focal_class.modifiers: @Override @SuppressWarnings({"unchecked", "varargs"}) public
focal_class.parameters: (final Class<? extends TraversalStrategy>... strategyClasses)
focal_class.return: TraversalStrategies
focal_class.signature: TraversalStrategies removeStrategies(final Class<? extends TraversalStrategy>... strategyClasses)
focal_class.class_method_signature: DefaultTraversalStrategies.toList()
focal_class.full_signature: @Override public List<TraversalStrategy<?>> toList()
focal_class.identifier: toList
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: List<TraversalStrategy<?>>
focal_class.signature: List<TraversalStrategy<?>> toList()
focal_class.class_method_signature: DefaultTraversalStrategies.applyStrategies(final Traversal.Admin<?, ?> traversal)
focal_class.full_signature: @Override public void applyStrategies(final Traversal.Admin<?, ?> traversal)
focal_class.identifier: applyStrategies
focal_class.modifiers: @Override public
focal_class.parameters: (final Traversal.Admin<?, ?> traversal)
focal_class.return: void
focal_class.signature: void applyStrategies(final Traversal.Admin<?, ?> traversal)
focal_class.class_method_signature: DefaultTraversalStrategies.clone()
focal_class.full_signature: @Override public DefaultTraversalStrategies clone()
focal_class.identifier: clone
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: DefaultTraversalStrategies
focal_class.signature: DefaultTraversalStrategies clone()
focal_class.class_method_signature: DefaultTraversalStrategies.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: @Override
      @SuppressWarnings({"unchecked", "varargs"})
      public TraversalStrategies addStrategies(final TraversalStrategy<?>... strategies) {
          final List<TraversalStrategy<?>> toRemove = new ArrayList<>(strategies.length);
          for (final TraversalStrategy<?> addStrategy : strategies) {
              for (final TraversalStrategy<?> currentStrategy : this.traversalStrategies) {
                  if (addStrategy.getClass().equals(currentStrategy.getClass())) {
                      toRemove.add(currentStrategy);
                      break;
                  }
              }
          }
          this.traversalStrategies.removeAll(toRemove);
          Collections.addAll(this.traversalStrategies, strategies);
          this.traversalStrategies = TraversalStrategies.sortStrategies(this.traversalStrategies);
          return this;
      }
focal_method.class_method_signature: DefaultTraversalStrategies.addStrategies(final TraversalStrategy<?>... strategies)
focal_method.full_signature: @Override @SuppressWarnings({"unchecked", "varargs"}) public TraversalStrategies addStrategies(final TraversalStrategy<?>... strategies)
focal_method.identifier: addStrategies
focal_method.invocations: equals getClass getClass add removeAll addAll sortStrategies
focal_method.modifiers: @Override @SuppressWarnings({"unchecked", "varargs"}) public
focal_method.parameters: (final TraversalStrategy<?>... strategies)
focal_method.return: TraversalStrategies
focal_method.signature: TraversalStrategies addStrategies(final TraversalStrategy<?>... strategies)