public static PotReward deserialize(Map<String, Object> map) { double pot = ((Number) map.get("pot")).doubleValue(); Economy econ = null; if (map.containsKey("material-id")) { int materialID = (map.containsKey("material-id")) ? (Integer) map.get("material-id") : -1; econ = Economy.getEconomy(materialID); } else { econ = (Economy) map.get("econ"); } return new PotReward(econ, pot); }