private static Choice parseChoiceElement(Element choiceElement) throws MissionParseException {
  String id=choiceElement.getAttribute(CHOICE_ATTRIBUTE_ID);
  String description=getDescription(choiceElement);
  String nextMomentId=getNextMomentId(choiceElement);
  Outcome outcome=parseOutcomeElement(findSingleChildElementByTag(choiceElement,ELEMENT_OUTCOME));
  boolean requiresChargedWeapon=false;
  if (id.equals(MissionParser.FIRE_WEAPON_CHOICE_ID)) {
    requiresChargedWeapon=true;
  }
  ArrayList<String> fictionalProgress=parseNestedFictionalProgress(choiceElement);
  String iconName=parseIconElement(findSingleChildElementByTag(choiceElement,ELEMENT_ICON));
  return new Choice(id,description,nextMomentId,outcome,requiresChargedWeapon,fictionalProgress,iconName);
}

private static Choice parseChoiceElement ( Element choiceElement ) throws MissionParseException { String id = choiceElement . getAttribute ( CHOICE_ATTRIBUTE_ID ) ; String description = getDescription ( choiceElement ) ; String nextMomentId = getNextMomentId ( choiceElement ) ; Outcome outcome = parseOutcomeElement ( findSingleChildElementByTag ( choiceElement , ELEMENT_OUTCOME ) ) ; boolean requiresChargedWeapon = false ; if ( id . equals ( MissionParser . FIRE_WEAPON_CHOICE_ID ) ) { requiresChargedWeapon = true ; } ArrayList < String > fictionalProgress = parseNestedFictionalProgress ( choiceElement ) ; String iconName = parseIconElement ( findSingleChildElementByTag ( choiceElement , ELEMENT_ICON ) ) ; return new Choice ( id , description , nextMomentId , outcome , requiresChargedWeapon , fictionalProgress , iconName ) ; }
creates a choice from a dom element representing a choice .
