class JsonPathTokenizer extends AbstractIterator<String> {

  public JsonPathTokenizer(final String path) {
    this.path = requireNonNull(path, "path is null");

    if (path.isEmpty()) {
      throw invalidJsonPath();
    }

    // skip the start token
    match('$');
  }

  public  JsonPathTokenizer(final String path);

}