@@ -0,0 +1,867 @@
+package org.realityforge.replicant.example.server.service.tyrelll.replicate;%0A%0Aimport java.io.Serializable;%0Aimport java.util.HashMap;%0Aimport java.util.Map;%0Aimport javax.annotation.Nonnull;%0Aimport tyrell.server.entity.tyrell.Building;%0Aimport tyrell.server.entity.tyrell.Room;%0Aimport tyrell.server.entity.tyrell.TyrellRouter;%0A%0Apublic class EntityRouter%0A  implements TyrellRouter%0A%7B%0A  static final String BUILDING_KEY = %22Tyrell.BuildingID%22;%0A%0A  public EntityRouter()%0A  %7B%0A  %7D%0A%0A  @Nonnull%0A  @Override%0A  public Map%3CString, Serializable%3E routeBuilding( @Nonnull final Building entity )%0A  %7B%0A    final HashMap%3CString, Serializable%3E map = new HashMap%3C%3E();%0A    map.put( BUILDING_KEY, entity.getID() );%0A    return map;%0A  %7D%0A%0A  @Nonnull%0A  @Override%0A  public Map%3CString, Serializable%3E routeRoom( @Nonnull final Room entity )%0A  %7B%0A    return routeBuilding( entity.getBuilding() );%0A  %7D%0A%7D%0A

Add custom router