class TrieEntry implements Entry<String, T> {

    @Override
    public @Nullable T setValue(T value) {
        var replaced = this.value;
        this.value = value;

        return replaced;
    }

      TrieEntry(char character, @Nullable TrieEntry<T> parent);
      TrieEntry(char character, @Nullable TrieEntry<T> parent, String key, T value);

}