@NotNull
  private static Collection<File> findBoundSourceCandidates(CompileContext context, final ModuleBuildTarget target, File form) throws IOException, AlienFormFileException {
    final List<JavaSourceRootDescriptor> targetRoots = context.getProjectDescriptor().getBuildRootIndex().getTargetRoots(target, context);
    if (targetRoots.isEmpty()) {
      return Collections.emptyList();
    }
    final String className = FormsParsing.readBoundClassName(form);
    if (className == null) {
      return Collections.emptyList();
    }
    for (JavaSourceRootDescriptor rd : targetRoots) {
      final File boundSource = findSourceForClass(rd, className);
      if (boundSource != null) {
        return Collections.singleton(boundSource);
      }
    }

    final Set<File> candidates = FileCollectionFactory.createCanonicalFileSet();
    for (JavaSourceRootDescriptor rd : targetRoots) {
      candidates.addAll(findPossibleSourcesForClass(rd, className));
    }
    return candidates;
  }
@NotNull
  private static Collection<File> findBoundSourceCandidates(CompileContext context, final ModuleBuildTarget target, File form)