@Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        StringData that = (StringData) o;

        if (altrep != null ? !altrep.equals(that.altrep) : that.altrep != null) return false;
        if (language != null ? !language.equals(that.language) : that.language != null) return false;
        if (string != null ? !string.equals(that.string) : that.string != null) return false;

        return true;
    }