private ProjectConfig parseProjectConfig(
      ProjectConvention projectConvention, GroupConventionAnnotation groupConventionAnnotation) {

    Set<Class<? extends ArgoController>> controllersClasses =
        parseControllers(groupConventionAnnotation);

    return new DefaultProjectConfig(projectConvention.id(), controllersClasses, projectConvention);
  }
  private Map<String, String> parseGroupConventionPath(
      GroupConventionAnnotation groupConventionAnnotation, ProjectConvention projectConvention) {

    Map<String, String> paths =
        ImmutableMap.<String, String>builder()
            .put(PACKAGES_PREFIX, groupConventionAnnotation.groupPackagesPrefix())
            .put(PROJECT_ID, projectConvention.id())
            .put(GROUP_CONFIG_FOLDER, groupConventionAnnotation.groupConfigFolder())
            .put(GROUP_LOG_FOLDER, groupConventionAnnotation.groupLogFolder())
            .build();

    return matchPath(paths);
  }