test_class.declarator: exception = ExpectedException.none()
test_class.modifier: @Rule public
test_class.original_string: @Rule public ExpectedException exception = ExpectedException.none();
test_class.type: ExpectedException
test_class.var_name: exception
test_class.file: rut/src/test/java/io/norberg/rut/RadixTrieTest.java
test_class.identifier: RadixTrieTest
test_case.body: @Test(expected = IllegalArgumentException.class)
    public void verifyNonAsciiInsertThrows() {
      RadixTrie.builder(String.class).insert("" + (char) 128, "foo");
    }
test_case.class_method_signature: RadixTrieTest.verifyNonAsciiInsertThrows()
test_case.full_signature: @Test(expected = IllegalArgumentException.class) public void verifyNonAsciiInsertThrows()
test_case.identifier: verifyNonAsciiInsertThrows
test_case.invocations: insert builder
test_case.modifiers: @Test(expected = IllegalArgumentException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void verifyNonAsciiInsertThrows()
focal_class.declarator: ASCII = Charset.forName("US-ASCII")
focal_class.modifier: private static final
focal_class.original_string: private static final Charset ASCII = Charset.forName("US-ASCII");
focal_class.type: Charset
focal_class.var_name: ASCII
focal_class.declarator: CAPTURE_SEG = -128
focal_class.modifier: private static final
focal_class.original_string: private static final byte CAPTURE_SEG = -128;
focal_class.type: byte
focal_class.var_name: CAPTURE_SEG
focal_class.declarator: CAPTURE_PATH = -127
focal_class.modifier: private static final
focal_class.original_string: private static final byte CAPTURE_PATH = -127;
focal_class.type: byte
focal_class.var_name: CAPTURE_PATH
focal_class.declarator: SLASH = '/'
focal_class.modifier: private static final
focal_class.original_string: private static final byte SLASH = '/';
focal_class.type: byte
focal_class.var_name: SLASH
focal_class.declarator: QUERY = '?'
focal_class.modifier: private static final
focal_class.original_string: private static final byte QUERY = '?';
focal_class.type: byte
focal_class.var_name: QUERY
focal_class.declarator: root
focal_class.modifier: private final
focal_class.original_string: private final Node<T> root;
focal_class.type: Node<T>
focal_class.var_name: root
focal_class.declarator: captures
focal_class.modifier: private final
focal_class.original_string: private final int captures;
focal_class.type: int
focal_class.var_name: captures
focal_class.file: rut/src/main/java/io/norberg/rut/RadixTrie.java
focal_class.identifier: RadixTrie
focal_class.class_method_signature: RadixTrie.RadixTrie(final Node<T> root)
focal_class.full_signature:   RadixTrie(final Node<T> root)
focal_class.identifier: RadixTrie
focal_class.parameters: (final Node<T> root)
focal_class.signature:  RadixTrie(final Node<T> root)
focal_class.class_method_signature: RadixTrie.lookup(final CharSequence path)
focal_class.full_signature:  T lookup(final CharSequence path)
focal_class.identifier: lookup
focal_class.parameters: (final CharSequence path)
focal_class.return: T
focal_class.signature: T lookup(final CharSequence path)
focal_class.class_method_signature: RadixTrie.lookup(final CharSequence path, final Captor captor)
focal_class.full_signature:  T lookup(final CharSequence path, final Captor captor)
focal_class.identifier: lookup
focal_class.parameters: (final CharSequence path, final Captor captor)
focal_class.return: T
focal_class.signature: T lookup(final CharSequence path, final Captor captor)
focal_class.class_method_signature: RadixTrie.captures()
focal_class.full_signature:  int captures()
focal_class.identifier: captures
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int captures()
focal_class.class_method_signature: RadixTrie.captor()
focal_class.full_signature:  Captor captor()
focal_class.identifier: captor
focal_class.parameters: ()
focal_class.return: Captor
focal_class.signature: Captor captor()
focal_class.class_method_signature: RadixTrie.captor(final int captures)
focal_class.full_signature: static Captor captor(final int captures)
focal_class.identifier: captor
focal_class.modifiers: static
focal_class.parameters: (final int captures)
focal_class.return: Captor
focal_class.signature: Captor captor(final int captures)
focal_class.class_method_signature: RadixTrie.builder()
focal_class.full_signature: static Builder<T> builder()
focal_class.identifier: builder
focal_class.modifiers: static
focal_class.parameters: ()
focal_class.return: Builder<T>
focal_class.signature: Builder<T> builder()
focal_class.class_method_signature: RadixTrie.builder(Class<T> clazz)
focal_class.full_signature: @SuppressWarnings("UnusedParameters") static Builder<T> builder(Class<T> clazz)
focal_class.identifier: builder
focal_class.modifiers: @SuppressWarnings("UnusedParameters") static
focal_class.parameters: (Class<T> clazz)
focal_class.return: Builder<T>
focal_class.signature: Builder<T> builder(Class<T> clazz)
focal_class.class_method_signature: RadixTrie.prefixes(Node<T> node)
focal_class.full_signature: private static String prefixes(Node<T> node)
focal_class.identifier: prefixes
focal_class.modifiers: private static
focal_class.parameters: (Node<T> node)
focal_class.return: String
focal_class.signature: String prefixes(Node<T> node)
focal_class.class_method_signature: RadixTrie.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: static <T> Builder<T> builder() {
      return new Builder<T>();
    }
focal_method.class_method_signature: RadixTrie.builder()
focal_method.full_signature: static Builder<T> builder()
focal_method.identifier: builder
focal_method.modifiers: static
focal_method.parameters: ()
focal_method.return: Builder<T>
focal_method.signature: Builder<T> builder()