@Override
    public boolean equals(Object other) {
        if(other == null) return false;
        if(other instanceof AgigaToken) {
            AgigaToken o = (AgigaToken) other;
            return tokIdx == o.tokIdx
                && Util.safeEquals(word, o.word)
                && Util.safeEquals(lemma, o.lemma)
                && charOffBegin == o.charOffBegin
                && charOffEnd == o.charOffEnd
                && Util.safeEquals(posTag, o.posTag)
                && Util.safeEquals(nerTag, o.nerTag)
                && Util.safeEquals(normNer, o.normNer);
        }
        return false;
    }