List<MissionAvailabilityAPI> missions = board.getMissionsCopy();
for (MissionAvailabilityAPI mission : missions) {
if (mission.getMission() instanceof ConquestMission) {
ConquestMission cm = (ConquestMission)(mission.getMission());
FactionAPI targetFaction = cm.getTarget().getFaction();
if (!targetFaction.isHostileTo(cm.issuer))
toRemove.add(cm);
else {
Set<SectorEntityToken> tokens = mission.getAvailableAt();
List<SectorEntityToken> toDelist = new ArrayList<>();
for (SectorEntityToken token: tokens) {
if (!token.getFaction().isHostileTo(targetFaction) // line 195
|| token.getFaction().isAtBest(cm.issuer, RepLevel.INHOSPITABLE))
toDelist.add(token);
}
for (SectorEntityToken token : toDelist) {
board.makeUnavailableAt(cm, token);
}
}
}
}
How would this NPE? Can the tokens returned by mission.getAvailableAt() have a null faction?