@Override public final boolean equals(final Object obj) { if (!(obj instanceof BaseToken)) { return false; } final BaseToken<?> other = (BaseToken<?>) obj; return Objects.equal(type, other.type) && Objects.equal(position, other.position) && Objects.equal(raw, other.raw) && Objects.equal(value, other.value); }