/** * Get a deep clone of the role status list. Concurrent events may mean this * list (or indeed, some of the role status entries) may be inconsistent * @return a snapshot of the role status entries */ public List<RoleStatus> cloneRoleStatusList() { Collection<RoleStatus> statuses = roleStatusMap.values(); List<RoleStatus> statusList = new ArrayList<>(statuses.size()); try { for (RoleStatus status : statuses) { statusList.add((RoleStatus)(status.clone())); } } catch (CloneNotSupportedException e) { log.warn("Unexpected cloning failure: {}", e, e); } return statusList; }
/** * Get a deep clone of the role status list. Concurrent events may mean this * list (or indeed, some of the role status entries) may be inconsistent * @return a snapshot of the role status entries */ public List<RoleStatus> cloneRoleStatusList() { Collection<RoleStatus> statuses = roleStatusMap.values(); List<RoleStatus> statusList = new ArrayList<>(statuses.size()); try { for (RoleStatus status : statuses) { statusList.add((RoleStatus)(status.clone())); } } catch (CloneNotSupportedException e) { log.warn("Unexpected cloning failure: {}", e, e); } return statusList; }