### Question:
MultipleXYSeriesLabelGenerator implements XYSeriesLabelGenerator,
        Cloneable, PublicCloneable, Serializable { public void addSeriesLabel(int series, String label) { Integer key = series; List<String> labelList = this.seriesLabelLists.get(key); if (labelList == null) { labelList = new java.util.ArrayList<String>(); this.seriesLabelLists.put(key, labelList); } labelList.add(label); } MultipleXYSeriesLabelGenerator();  MultipleXYSeriesLabelGenerator(String format); void addSeriesLabel(int series, String label); void clearSeriesLabels(int series); @Override String generateLabel(XYDataset dataset, int series); @Override Object clone(); @Override boolean equals(Object obj); @Override int hashCode(); static final String DEFAULT_LABEL_FORMAT; }### Answer:
@Test public void testSerialization() throws IOException, ClassNotFoundException { MultipleXYSeriesLabelGenerator g1 = new MultipleXYSeriesLabelGenerator(); g1.addSeriesLabel(0, "Add0"); g1.addSeriesLabel(0, "Add0b"); g1.addSeriesLabel(1, "Add1"); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); ObjectOutput out = new ObjectOutputStream(buffer); out.writeObject(g1); out.close(); ObjectInput in = new ObjectInputStream( new ByteArrayInputStream(buffer.toByteArray())); MultipleXYSeriesLabelGenerator g2 = (MultipleXYSeriesLabelGenerator) in.readObject(); in.close(); assertEquals(g1, g2); }