List<MapEntry> out = new ArrayList<MapEntry>();
for (Entry<String, ManagedReference<SharedMapImpl>> e :
recv.mapsRef.get().entrySet())
{
MapEntry me = new MapEntry(e.getKey());
List<SharedDataEntry> l = new ArrayList<SharedDataEntry>();
for (Entry<String, SharedData> de : e.getValue().get().entrySet()) {
// if the value is transient, don't include it
Class clazz = de.getValue().getClass();
if (clazz.isAnnotationPresent(SharedStateTransient.class)) {
continue;
}
l.add(new SharedDataEntry(de.getKey(), de.getValue()));
}
me.setData(l.toArray(new SharedDataEntry[0]));
out.add(me);
}
return out.toArray(new MapEntry[0]);
}