code: private Map<String, Component> getComponents(JsonNode componentsNode) {
          Iterator<JsonNode> it = componentsNode.iterator();
          Map<String, Component> components = Maps.newHashMap();
  
          while(it.hasNext()){
              JsonNode componentNode = it.next();
              JsonNode pathNode = componentNode.path("path");
              JsonNode moduleNode = componentNode.path("moduleKey");
              components.put(componentNode.path("key").asText(),
                      new Component(pathNode.asText(), moduleNode.isMissingNode()?null:moduleNode.asText()));
          }
  
          return components;
      }
docs: Extracts all the components from the json data.