int tmpHashcode = hashcode; hashcode = -1; output.defaultWriteObject(); hashcode = tmpHashcode;
s.writeObject(language); s.writeObject(country); s.writeObject(variant);  s.writeInt(-1);
    private synchronized void writeObject(ObjectOutputStream output)    throws IOException  {        // Synchronized so that hashCode() doesn't get wrong value.        int tmpHashcode = hashcode;        hashcode = -1;        output.defaultWriteObject();        hashcode = tmpHashcode;    }