test_class.file: singa-mathematics/src/test/java/bio/singa/mathematics/graphs/trees/NewickParserTest.java
test_class.identifier: NewickParserTest
test_case.body: @Test
      @DisplayName("newick parsing - dangling node")
      void test2() {
          String newick = "((A,B),C)";
          BinaryTreeNode<String> treeNode = NewickParser.parseNewick(newick);
          assertEquals(newick, treeNode.toNewickString());
      }
test_case.class_method_signature: NewickParserTest.test2()
test_case.full_signature: @Test @DisplayName("newick parsing - dangling node") void test2()
test_case.identifier: test2
test_case.invocations: parseNewick assertEquals toNewickString
test_case.modifiers: @Test @DisplayName("newick parsing - dangling node")
test_case.parameters: ()
test_case.return: void
test_case.signature: void test2()
focal_class.declarator: DEFAULT_SEPARATOR = ','
focal_class.modifier: private static final
focal_class.original_string: private static final char DEFAULT_SEPARATOR = ',';
focal_class.type: char
focal_class.var_name: DEFAULT_SEPARATOR
focal_class.declarator: separator
focal_class.modifier: private final
focal_class.original_string: private final char separator;
focal_class.type: char
focal_class.var_name: separator
focal_class.declarator: newickString
focal_class.modifier: private
focal_class.original_string: private String newickString;
focal_class.type: String
focal_class.var_name: newickString
focal_class.declarator: token
focal_class.modifier: private
focal_class.original_string: private List<String> token;
focal_class.type: List<String>
focal_class.var_name: token
focal_class.declarator: currentToken
focal_class.modifier: private
focal_class.original_string: private String currentToken;
focal_class.type: String
focal_class.var_name: currentToken
focal_class.declarator: ancestors
focal_class.modifier: private
focal_class.original_string: private Deque<BinaryTreeNode<String>> ancestors;
focal_class.type: Deque<BinaryTreeNode<String>>
focal_class.var_name: ancestors
focal_class.declarator: tree
focal_class.modifier: private
focal_class.original_string: private BinaryTreeNode<String> tree;
focal_class.type: BinaryTreeNode<String>
focal_class.var_name: tree
focal_class.file: singa-mathematics/src/main/java/bio/singa/mathematics/graphs/trees/NewickParser.java
focal_class.identifier: NewickParser
focal_class.class_method_signature: NewickParser.NewickParser(String newickString)
focal_class.full_signature: public  NewickParser(String newickString)
focal_class.identifier: NewickParser
focal_class.modifiers: public
focal_class.parameters: (String newickString)
focal_class.signature:  NewickParser(String newickString)
focal_class.class_method_signature: NewickParser.NewickParser(String newickString, char separator)
focal_class.full_signature: public  NewickParser(String newickString, char separator)
focal_class.identifier: NewickParser
focal_class.modifiers: public
focal_class.parameters: (String newickString, char separator)
focal_class.signature:  NewickParser(String newickString, char separator)
focal_class.class_method_signature: NewickParser.parseNewick(String newickString)
focal_class.full_signature: public static BinaryTreeNode<String> parseNewick(String newickString)
focal_class.identifier: parseNewick
focal_class.modifiers: public static
focal_class.parameters: (String newickString)
focal_class.return: BinaryTreeNode<String>
focal_class.signature: BinaryTreeNode<String> parseNewick(String newickString)
focal_class.class_method_signature: NewickParser.parseNewick(String newickString, char separator)
focal_class.full_signature: public static BinaryTreeNode<String> parseNewick(String newickString, char separator)
focal_class.identifier: parseNewick
focal_class.modifiers: public static
focal_class.parameters: (String newickString, char separator)
focal_class.return: BinaryTreeNode<String>
focal_class.signature: BinaryTreeNode<String> parseNewick(String newickString, char separator)
focal_class.class_method_signature: NewickParser.parse()
focal_class.full_signature: private BinaryTreeNode<String> parse()
focal_class.identifier: parse
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: BinaryTreeNode<String>
focal_class.signature: BinaryTreeNode<String> parse()
focal_class.class_method_signature: NewickParser.tokenize()
focal_class.full_signature: private void tokenize()
focal_class.identifier: tokenize
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void tokenize()
focal_class.class_method_signature: NewickParser.addPreviousToken()
focal_class.full_signature: private void addPreviousToken()
focal_class.identifier: addPreviousToken
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void addPreviousToken()
focal_class.class_method_signature: NewickParser.buildTree()
focal_class.full_signature: private void buildTree()
focal_class.identifier: buildTree
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void buildTree()
focal_class.class_method_signature: NewickParser.nameIntermediateNodes()
focal_class.full_signature: private void nameIntermediateNodes()
focal_class.identifier: nameIntermediateNodes
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void nameIntermediateNodes()
focal_method.body: public static BinaryTreeNode<String> parseNewick(String newickString) {
          NewickParser parser = new NewickParser(newickString);
          return parser.parse();
      }
focal_method.class_method_signature: NewickParser.parseNewick(String newickString)
focal_method.full_signature: public static BinaryTreeNode<String> parseNewick(String newickString)
focal_method.identifier: parseNewick
focal_method.invocations: parse
focal_method.modifiers: public static
focal_method.parameters: (String newickString)
focal_method.return: BinaryTreeNode<String>
focal_method.signature: BinaryTreeNode<String> parseNewick(String newickString)