private Story parseStory(Json.Object jsonStory) {
   final String text = jsonStory.getString("text");
   Story.Builder storyBuilder = Story.withText(text);
   Json.Array jsonTriggers = jsonStory.getArray("triggers");
   for (int i = 0, limit = jsonTriggers.length(); i < limit; i++) {
     Json.Object jsonTrigger = jsonTriggers.getObject(i);
     parseTrigger(jsonTrigger, storyBuilder);
   }
   return storyBuilder.build();
 }
 private void parseTrigger(Json.Object jsonTrigger, Story.Builder storyBuilder) {
   String skillString = jsonTrigger.getString("skill");
   Json.Object conclusionObject = jsonTrigger.getObject("conclusion");
   Conclusion conclusion = parseConclusion(conclusionObject);
   if (skillString != null) {
     Skill skill = Skill.named(skillString);
     storyBuilder.trigger(SkillTrigger.skill(skill).conclusion(conclusion));
   } else {
     NoSkillTrigger noSkill = new NoSkillTrigger(conclusion);
     storyBuilder.trigger(noSkill);
   }
 }