import org.infinispan.marshall.AdvancedExternalizer; public class Person {    final String name;    final int age;    public Person(String name, int age) {       this.name = name;       this.age = age;    }    public static class PersonExternalizer implements AdvancedExternalizer {       @Override       public void writeObject(ObjectOutput output, Person person)             throws IOException {          output.writeObject(person.name);          output.writeInt(person.age);       }       @Override       public Person readObject(ObjectInput input)             throws IOException, ClassNotFoundException {          return new Person((String) input.readObject(), input.readInt());       }       @Override       public Set> getTypeClasses() {          return Util.>asSet(Person.class);       }       @Override       public Integer getId() {          return 2345;       }    } }