### Question:
CliKryoFactory implements KryoFactory { @Override public Kryo create() { Kryo kryo = new Kryo(); kryo.setRegistrationRequired(true); kryo.register(NameUsage.class); kryo.register(VerbatimNameUsage.class); kryo.register(NameUsageMetrics.class); kryo.register(UsageExtensions.class); kryo.register(ParsedName.class); kryo.register(DatasetMetrics.class); kryo.register(Description.class); kryo.register(Distribution.class); kryo.register(Identifier.class); kryo.register(NameUsageMediaObject.class); kryo.register(Reference.class); kryo.register(SpeciesProfile.class); kryo.register(TypeSpecimen.class); kryo.register(VernacularName.class); kryo.register(NubUsage.class); kryo.register(UsageFacts.class); kryo.register(Classification.class); kryo.register(SrcUsage.class); kryo.register(IntArrayList.class); kryo.register(Date.class); kryo.register(HashMap.class); kryo.register(HashSet.class); kryo.register(ArrayList.class); kryo.register(UUID.class, new UUIDSerializer()); kryo.register(URI.class, new URISerializer()); kryo.register(int[].class); ImmutableListSerializer.registerSerializers(kryo); kryo.register(EnumSet.class, new EnumSetSerializer()); kryo.register(NameUsageIssue.class); kryo.register(NomenclaturalStatus.class); kryo.register(NomenclaturalStatus[].class); kryo.register(TaxonomicStatus.class); kryo.register(Origin.class); kryo.register(Rank.class); kryo.register(Extension.class); kryo.register(Kingdom.class); kryo.register(NameType.class); kryo.register(NamePart.class, 40); kryo.register(Language.class); kryo.register(Country.class); kryo.register(OccurrenceStatus.class); kryo.register(LifeStage.class); kryo.register(ThreatStatus.class); kryo.register(EstablishmentMeans.class); kryo.register(CitesAppendix.class); kryo.register(IdentifierType.class); kryo.register(MediaType.class); kryo.register(TypeStatus.class); kryo.register(TypeDesignationType.class); kryo.register(Sex.class); kryo.register(AcTerm.class); kryo.register(AcefTerm.class); kryo.register(DcElement.class); kryo.register(DcTerm.class); kryo.register(DwcTerm.class); kryo.register(GbifInternalTerm.class); kryo.register(GbifTerm.class); kryo.register(IucnTerm.class); kryo.register(XmpRightsTerm.class); kryo.register(XmpTerm.class); kryo.register(UnknownTerm.class, new TermSerializer()); kryo.register(NodeProxy.class, new NullSerializer()); return kryo; }  @Override Kryo create();  }### Answer:
@Test public void testTerms() throws Exception { List<Term> terms = Lists.newArrayList( DwcTerm.scientificName, DwcTerm.associatedOrganisms, DwcTerm.taxonID, DcTerm.title, GbifTerm.canonicalName, AcefTerm.Author, IucnTerm.threatStatus, new UnknownTerm(URI.create("http: ); assertSerde(terms); }