@Override
 public KnownIdentities save(KnownIdentities entity) {
   if (entity.getId() == null) {
     entity.setId(aggregateIdGenerator.incrementAndGet());
   }
   for (Identity identity : entity.getKnownIdentities()) {
     if (identity.getId() == null) {
       identity.setId(identityIdGenerator.incrementAndGet());
     }
   }
   aggregateMap.put(entity.getId(), entity);
   return entity;
 }
 private static KnownIdentities createDefault() {
   Identity emailIdentity = new Identity(1L, IdentityType.EMAIL, "*****@*****.**");
   emailIdentity.createValidationToken();
   emailIdentity.setVerified(true);
   Identity twitterIdentity = new Identity(2L, IdentityType.PHONE, "0406 000 000");
   twitterIdentity.setVerified(false);
   return KnownIdentities.builder()
       .id(1L)
       .name("Hong Yew")
       .identity(emailIdentity)
       .identity(twitterIdentity)
       .account(
           new Account(
               AccountRegion.AU,
               new AuBsb(123456),
               new AuAccountNumber(new BigInteger("1234567890"))))
       .build();
 }