code: protected static Set<Component> readTOC(Descriptor descriptor) throws IOException
      {
          File tocFile = new File(descriptor.filenameFor(Component.TOC));
          List<String> componentNames = Files.readLines(tocFile, Charset.defaultCharset());
          Set<Component> components = Sets.newHashSetWithExpectedSize(componentNames.size());
          for (String componentName : componentNames)
          {
              Component component = new Component(Component.Type.fromRepresentation(componentName), componentName);
              if (!new File(descriptor.filenameFor(component)).exists())
                  logger.error("Missing component: {}", descriptor.filenameFor(component));
              else
                  components.add(component);
          }
          return components;
      }
docs: Reads the list of components from the TOC component.
  @return set of components found in the TOC