public static ProblemData gatherProblemData(
      final boolean attach, final String title, final String contact, final String body) {
    fetchErlangSystemInfo();

    String plog = "N/A";
    String elog = "N/A";
    if (attach) {
      plog = ErlideUtil.fetchPlatformLog();
      elog = ErlideUtil.fetchErlideLog();
    }
    final ProblemData data = new ProblemData(title, contact, body, plog, elog);
    return data;
  }
  /*
   * (non-Javadoc)
   *
   * @see
   * org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core
   * .resources.IResourceDelta)
   */
  public boolean visit(final IResourceDelta delta) {

    final IResource source = delta.getResource();
    switch (source.getType()) {
      case IResource.ROOT:
      case IResource.PROJECT:
      case IResource.FOLDER:
        return true;
      case IResource.FILE:
        final IFile file = (IFile) source;
        if (ErlideUtil.hasModuleExtension(file.getName())) {
          doRefresh(file);
        }
        return false;
    }
    return false;
  }