/** * Deserialises a map of Facet keys to Facets from the given PersistenceContext. * * @param pPersistenceContext For deserialising the Facets. * @param pModuleCall ModuleCall to deserialise the Facets for. * @param pFacetType Type of Facet to be deserialised. * @param pFacetClass Marker class for providing type safety. Deserialised Facets should be * castable to this class. * @param <T> Facet type to be returned. * @return Map of keys to Facets. */ protected static <T extends ModuleFacet> Map<String, T> deserialiseFacets( PersistenceContext pPersistenceContext, ModuleCall pModuleCall, ModuleFacetType pFacetType, Class<T> pFacetClass) { Collection<T> lModuleCallFacets = pPersistenceContext .getDeserialiser() .getModuleCallFacets(pModuleCall.getCallId(), pFacetType, pFacetClass); Map lFacetMap = new HashMap<String, T>(); for (ModuleFacet lFacet : lModuleCallFacets) { lFacetMap.put(lFacet.getFacetKey(), lFacet); } return lFacetMap; }