// Path: src/main/java/org/sonar/plugins/stash/StashPluginUtils.java
// public static boolean isProjectWide(PostJobIssue issue) {
//   InputComponent ic = issue.inputComponent();
//   if (!(ic instanceof InputModule)) {
//     return false;
//   }
//   InputModule im = (InputModule) ic;
//   if (im.key() == null) {
//     return false;
//   }
//   return CharMatcher.is(':').countIn(im.key()) == 0;
// }
// 
// Path: src/main/java/org/sonar/plugins/stash/IssuePathResolver.java
// @FunctionalInterface
// public interface IssuePathResolver {
//   String getIssuePath(PostJobIssue issue);
// }


import java.util.Set;
import static org.sonar.plugins.stash.StashPluginUtils.isProjectWide;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import org.sonar.api.batch.postjob.issue.PostJobIssue;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.plugins.stash.IssuePathResolver;

package org.sonar.plugins.stash.issue.collector;




public final class SonarQubeCollector {

  private static final Logger LOGGER = Loggers.get(SonarQubeCollector.class);

  private SonarQubeCollector() {
    // Hiding implicit public constructor with an explicit private one (squid:S1118)
  }

  /**
   * Create issue report according to issue list generated during SonarQube
   * analysis.
   */
  public static List<PostJobIssue> extractIssueReport(

// Path: src/main/java/org/sonar/plugins/stash/StashPluginUtils.java
// public static boolean isProjectWide(PostJobIssue issue) {
//   InputComponent ic = issue.inputComponent();
//   if (!(ic instanceof InputModule)) {
//     return false;
//   }
//   InputModule im = (InputModule) ic;
//   if (im.key() == null) {
//     return false;
//   }
//   return CharMatcher.is(':').countIn(im.key()) == 0;
// }
// 
// Path: src/main/java/org/sonar/plugins/stash/IssuePathResolver.java
// @FunctionalInterface
// public interface IssuePathResolver {
//   String getIssuePath(PostJobIssue issue);
// }


// Path: src/main/java/org/sonar/plugins/stash/issue/collector/SonarQubeCollector.java
import java.util.Set;
import static org.sonar.plugins.stash.StashPluginUtils.isProjectWide;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import org.sonar.api.batch.postjob.issue.PostJobIssue;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.plugins.stash.IssuePathResolver;

package org.sonar.plugins.stash.issue.collector;




public final class SonarQubeCollector {

  private static final Logger LOGGER = Loggers.get(SonarQubeCollector.class);

  private SonarQubeCollector() {
    // Hiding implicit public constructor with an explicit private one (squid:S1118)
  }

  /**
   * Create issue report according to issue list generated during SonarQube
   * analysis.
   */
  public static List<PostJobIssue> extractIssueReport(

      Iterable<PostJobIssue> issues, IssuePathResolver issuePathResolver,
