Support for OpenJDK projects.

diff --git a/prs/build.xml b/prs/build.xml
index cac238e..6807b3e 100644
--- a/prs/build.xml
+++ b/prs/build.xml
@@ -19,8 +19,8 @@
 <project name="prs" default="build" basedir=".">
     <target name="build">
         <ant dir="handler" target="download-ext-bins" />
-        <ant dir="handler/impl" target="clean" />
-        <ant dir="handler/impl" target="build-prs-handler" />
+        <ant dir="handler" target="clean" />
+        <ant dir="handler" target="build-zip" />
         <exec executable="mvn" dir="webapp">
             <arg value="clean" />
         </exec>
@@ -32,8 +32,9 @@
         </exec>
         <delete dir="build/prs" />
         <mkdir dir="build/prs" />
-        <copy todir="build/prs/handler">
-             <fileset dir="handler/impl/build/handler"/>
+        <unzip dest="build/prs" src="handler/dist/handler.zip" />
+        <copy todir="build/prs/handler/bin">
+             <fileset dir="handler/impl/script"/>
         </copy>
         <copy todir="build/prs/webapp/dependency">
              <fileset dir="webapp/target/dependency"/>
@@ -45,6 +46,9 @@
              <fileset dir="script" includes="prs"/>
         </copy>
         <chmod file="build/prs/handler/bin/handler" perm="u+x" />
+        <chmod file="build/prs/handler/bin/handler.docker" perm="u+x" />
+        <chmod file="build/prs/handler/bin/handler.local" perm="u+x" />
+        <chmod file="build/prs/handler/bin/handler.remote" perm="u+x" />
         <chmod file="build/prs/prs" perm="u+x" />
     </target>
 </project>
diff --git a/prs/handler/impl/nbproject/project.properties b/prs/handler/impl/nbproject/project.properties
index 4d6f81a..29b8baa 100644
--- a/prs/handler/impl/nbproject/project.properties
+++ b/prs/handler/impl/nbproject/project.properties
@@ -17,3 +17,4 @@
 javac.compilerargs=-Xlint -Xlint:-serial
 handler.build.dir=build/handler
 test.run.args=--add-exports jdk.javadoc/com.sun.tools.javadoc.main=ALL-UNNAMED
+test.timeout=3600000
\ No newline at end of file
diff --git a/prs/handler/impl/nbproject/project.xml b/prs/handler/impl/nbproject/project.xml
index 9bdc239..cb7ef7f 100644
--- a/prs/handler/impl/nbproject/project.xml
+++ b/prs/handler/impl/nbproject/project.xml
@@ -24,6 +24,15 @@
             <suite-component/>
             <module-dependencies>
                 <dependency>
+                    <code-name-base>org.netbeans.api.java.classpath</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.60</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.netbeans.bootstrap</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
@@ -74,6 +83,14 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
+                    <code-name-base>org.netbeans.libs.junit4</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>1.23</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.netbeans.modules.apisupport.ant</code-name-base>
                     <run-dependency>
                         <specification-version>2.76</specification-version>
@@ -154,6 +171,22 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
+                    <code-name-base>org.netbeans.modules.java.openjdk.project</code-name-base>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.3</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.netbeans.modules.java.platform</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>1</release-version>
+                        <specification-version>1.48</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.netbeans.modules.java.source.base</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
@@ -162,6 +195,12 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
+                    <code-name-base>org.netbeans.modules.junitlib</code-name-base>
+                    <run-dependency>
+                        <specification-version>1.11</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.netbeans.modules.maven</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
@@ -215,6 +254,15 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
+                    <code-name-base>org.netbeans.modules.sendopts</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <release-version>2</release-version>
+                        <specification-version>2.42</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.netbeans.modules.xml.xdm</code-name-base>
                     <run-dependency>
                         <release-version>1</release-version>
@@ -269,6 +317,14 @@
                     </run-dependency>
                 </dependency>
                 <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>9.13</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
                     <code-name-base>org.openide.util.lookup</code-name-base>
                     <build-prerequisite/>
                     <compile-dependency/>
@@ -276,6 +332,14 @@
                         <specification-version>8.37</specification-version>
                     </run-dependency>
                 </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util.ui</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>9.14</specification-version>
+                    </run-dependency>
+                </dependency>
             </module-dependencies>
             <test-dependencies>
                 <test-type>
diff --git a/prs/handler/impl/script/handler b/prs/handler/impl/script/handler
deleted file mode 100755
index 78ae54f..0000000
--- a/prs/handler/impl/script/handler
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-LIB=`dirname $0`/../lib
-java $JACKPOT_PRS_EXTRA_JVM_OPTIONS --add-exports jdk.javadoc/com.sun.tools.javadoc.main=ALL-UNNAMED -classpath `find $LIB -name "*.jar" | tr '\n' ':'` org.netbeans.modules.jackpot.prs.handler.impl.HandlePullRequest "$@"
diff --git a/prs/handler/impl/script/handler.docker b/prs/handler/impl/script/handler.docker
index 6a19361..0b5803d 100755
--- a/prs/handler/impl/script/handler.docker
+++ b/prs/handler/impl/script/handler.docker
@@ -47,17 +47,15 @@
 
 RUN useradd -m compute
 
-COPY . /home/compute/handler
-
-RUN chown -R compute /home/compute/handler
+COPY --chown=compute . /home/compute/handler
 
 USER compute
 
-ENTRYPOINT [ "/home/compute/handler/bin/handler", "-Dhttp.proxyHost=jackpot-proxy", "-Dhttp.proxyPort=3128", "-Dhttps.proxyHost=jackpot-proxy", "-Dhttps.proxyPort=3128"]
+ENTRYPOINT [ "/home/compute/handler/bin/handler.local", "-J-Dhttp.proxyHost=jackpot-proxy", "-J-Dhttp.proxyPort=3128", "-J-Dhttps.proxyHost=jackpot-proxy", "-J-Dhttps.proxyPort=3128", "-J-Xmx2048m"]
 EOF
 )
 
-docker run --rm --env PR_CONTENT --env OAUTH_TOKEN --env OAUTH_APP_TOKEN --network jackpot-network-$PROXY_CONTAINER --env "http_proxy=http://jackpot-proxy:3128/" --env "https_proxy=http://jackpot-proxy:3128/" --env "JACKPOT_PRS_EXTRA_JVM_OPTIONS=-Dhttp.proxyHost=jackpot-proxy -Dhttp.proxyPort=3128 -Dhttps.proxyHost=jackpot-proxy -Dhttps.proxyPort=3128" $WORKER
+docker run --rm --env PR_CONTENT --env OAUTH_TOKEN --env OAUTH_APP_TOKEN --network jackpot-network-$PROXY_CONTAINER --env "http_proxy=http://jackpot-proxy:3128/" --env "https_proxy=http://jackpot-proxy:3128/" --env "JACKPOT_PRS_EXTRA_JVM_OPTIONS=-J-Dhttp.proxyHost=jackpot-proxy -J-Dhttp.proxyPort=3128 -J-Dhttps.proxyHost=jackpot-proxy -J-Dhttps.proxyPort=3128" $WORKER
 
 docker container stop $PROXY_CONTAINER
 docker network rm jackpot-network-$PROXY_CONTAINER jackpot-public-network-$PROXY_CONTAINER
diff --git a/prs/handler/impl/script/handler.local b/prs/handler/impl/script/handler.local
new file mode 100755
index 0000000..9d2e717
--- /dev/null
+++ b/prs/handler/impl/script/handler.local
@@ -0,0 +1,2 @@
+#!/bin/sh
+`dirname $0`/handler --handle-pull-request --nosplash --nogui -J-Djava.awt.headless=true -J-Dnetbeans.logger.console=true "$@"
diff --git a/prs/handler/impl/src/org/netbeans/modules/jackpot/prs/handler/impl/GHSite.java b/prs/handler/impl/src/org/netbeans/modules/jackpot/prs/handler/impl/GHSite.java
new file mode 100644
index 0000000..8a1c1ea
--- /dev/null
+++ b/prs/handler/impl/src/org/netbeans/modules/jackpot/prs/handler/impl/GHSite.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.jackpot.prs.handler.impl;
+
+import java.io.IOException;
+import org.kohsuke.github.GHCommitState;
+import org.kohsuke.github.GHPullRequest;
+import org.kohsuke.github.GHRepository;
+import org.kohsuke.github.GitHub;
+
+/**
+ *
+ * @author lahvac
+ */
+public class GHSite implements SiteWrapper {
+    public static final Factory FACTORY = new FactoryImpl();
+
+    private final GitHub github;
+
+    public GHSite(String authToken) throws IOException {
+        this.github = authToken != null ? GitHub.connectUsingOAuth(authToken) : GitHub.connect();
+    }
+
+    @Override
+    public void createCommitStatusPending(String fullRepoName, String sha, String text) throws IOException {
+        GHRepository statusTarget = github.getRepository(fullRepoName);
+        
+        statusTarget.createCommitStatus(sha, GHCommitState.PENDING, null, text);
+    }
+
+    @Override
+    public void createCommitStatusSuccess(String fullRepoName, String sha, String text) throws IOException {
+        GHRepository statusTarget = github.getRepository(fullRepoName);
+        
+        statusTarget.createCommitStatus(sha, GHCommitState.SUCCESS, null, text);
+    }
+
+    @Override
+    public void createReviewComment(String fullRepoName, int prId, String comment, String sha, String filename, int targetPosition) throws IOException {
+        GHRepository commentTarget = github.getRepository(fullRepoName);
+        GHPullRequest pr = commentTarget.getPullRequest(prId);
+        pr.createReviewComment(comment, sha, filename, targetPosition);
+    }
+
+    public static class FactoryImpl implements Factory {
+
+        @Override
+        public SiteWrapper create(String authToken) throws IOException {
+            return new GHSite(authToken);
+        }
+        
+    }
+}
diff --git a/prs/handler/impl/src/org/netbeans/modules/jackpot/prs/handler/impl/HandlePullRequest.java b/prs/handler/impl/src/org/netbeans/modules/jackpot/prs/handler/impl/HandlePullRequest.java
index 8e2acec..76f2c0f 100644
--- a/prs/handler/impl/src/org/netbeans/modules/jackpot/prs/handler/impl/HandlePullRequest.java
+++ b/prs/handler/impl/src/org/netbeans/modules/jackpot/prs/handler/impl/HandlePullRequest.java
@@ -27,11 +27,9 @@
 import java.io.InputStream;
 import java.net.URL;
 import java.net.URLConnection;
-import java.nio.file.Files;
-import java.nio.file.Path;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.EnumSet;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -39,55 +37,64 @@
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
-import org.kohsuke.github.GHCommitState;
-import org.kohsuke.github.GHPullRequest;
-import org.kohsuke.github.GHRepository;
-import org.kohsuke.github.GitHub;
+import javax.swing.event.ChangeListener;
+import org.netbeans.api.java.platform.JavaPlatform;
+import org.netbeans.api.java.queries.BinaryForSourceQuery;
 import org.netbeans.api.java.source.ClasspathInfo;
 import org.netbeans.api.java.source.JavaSource;
+import org.netbeans.api.java.source.SourceUtils;
 import org.netbeans.api.project.FileOwnerQuery;
 import org.netbeans.api.project.Project;
-import org.netbeans.api.project.ProjectManager;
+import org.netbeans.api.project.ProjectUtils;
+import org.netbeans.api.project.Sources;
 import org.netbeans.api.project.ui.OpenProjects;
+import org.netbeans.api.sendopts.CommandException;
+import org.netbeans.modules.jackpot.prs.handler.impl.SiteWrapper.Factory;
 import org.netbeans.modules.java.hints.spiimpl.batch.BatchUtilities;
 import org.netbeans.modules.java.hints.spiimpl.hints.HintsInvoker;
 import org.netbeans.modules.java.hints.spiimpl.options.HintsSettings;
-import org.netbeans.modules.parsing.impl.indexing.implspi.CacheFolderProvider;
 import org.netbeans.spi.editor.hints.ErrorDescription;
+import org.netbeans.spi.java.queries.BinaryForSourceQueryImplementation;
+import org.netbeans.spi.sendopts.Env;
+import org.netbeans.spi.sendopts.Option;
+import org.netbeans.spi.sendopts.OptionProcessor;
+import org.openide.LifecycleManager;
 import org.openide.filesystems.FileObject;
 import org.openide.filesystems.FileUtil;
-import org.openide.modules.ModuleInfo;
 import org.openide.modules.Places;
-import org.openide.util.Lookup;
+import org.openide.util.Exceptions;
+import org.openide.util.lookup.ServiceProvider;
 
 /**
  *
  * @author lahvac
  */
-public class HandlePullRequest {
-    public static void main(String... args) throws Exception {
-        String content = System.getenv().get("PR_CONTENT");
-        String token = System.getenv().get("OAUTH_TOKEN");
-        String appToken = System.getenv().get("OAUTH_APP_TOKEN");
-        processPullRequest(content, token, appToken);
+@ServiceProvider(service=OptionProcessor.class)
+public class HandlePullRequest extends OptionProcessor {
+    
+    private static final Option HANDLE_PULL_REQUEST = Option.withoutArgument('\0', "handle-pull-request");
+    public static Factory factory = GHSite.FACTORY;
+
+    protected Set<Option> getOptions() {
+        return Collections.singleton(HANDLE_PULL_REQUEST);
+    }
+    
+    protected void process(Env env, Map<Option,String[]> optionValues) throws CommandException {
+        try {
+            String content = System.getenv().get("PR_CONTENT");
+            String token = System.getenv().get("OAUTH_TOKEN");
+            String appToken = System.getenv().get("OAUTH_APP_TOKEN");
+            processPullRequest(content, token, appToken);
+            LifecycleManager.getDefault().exit();
+        } catch (Throwable ex) {
+            System.err.println("error:");
+            ex.printStackTrace();
+            throw (CommandException) new CommandException(1).initCause(ex);
+        }
     }
 
     public static void processPullRequest(String inputData, String oauthToken, String oauthAppToken) throws Exception {
-        Path tempDir = Files.createTempDirectory("pull.requests");
-        File userdir = tempDir.resolve("scratch-user").toFile();
-        File cachedir = tempDir.resolve("scratch-cache").toFile();
-        System.setProperty("netbeans.user", userdir.getAbsolutePath());
-        File varLog = new File(new File(userdir, "var"), "log");
-        varLog.mkdirs();
-        System.setProperty("jdk.home", System.getProperty("java.home")); //for j2seplatform
-        Class<?> main = Class.forName("org.netbeans.core.startup.Main");
-        main.getDeclaredMethod("initializeURLFactory").invoke(null);
-        new File(cachedir, "index").mkdirs();
-//        DefaultCacheFolderProvider.getInstance().setCacheFolder(FileUtil.toFileObject(new File(cachedir, "index")));
-        CacheFolderProvider.getCacheFolderForRoot(Places.getUserDirectory().toURI().toURL(), EnumSet.noneOf(CacheFolderProvider.Kind.class), CacheFolderProvider.Mode.EXISTENT);
-
-        Lookup.getDefault().lookup(ModuleInfo.class);
-
+        File tempDir = Places.getCacheSubdirectory("checkout");
         Map<String, Object> inputParsed = new ObjectMapper().readValue(inputData, Map.class);
         Object action = inputParsed.get("action");
         if (!"opened".equals(action))
@@ -101,17 +108,26 @@
         Map<String, Object> head = (Map<String, Object>) pullRequest.get("head");
         Map<String, Object> headRepo = (Map<String, Object>) head.get("repo");
         
-        GitHub statusGithub = oauthToken != null ? GitHub.connectUsingOAuth(oauthToken) : GitHub.connect();
+        SiteWrapper statusGithub = factory.create(oauthToken);
         String fullRepoName = (String) baseRepo.get("full_name");
-        GHRepository statusTarget = statusGithub.getRepository(fullRepoName);
         String sha = (String) head.get("sha");
         
-        statusTarget.createCommitStatus(sha, GHCommitState.PENDING, null, "Running Jackpot verification");
+        statusGithub.createCommitStatusPending(fullRepoName, sha, "Running Jackpot verification");
 
         String cloneURL = (String) headRepo.get("clone_url");
-        new ProcessBuilder("git", "clone", cloneURL, "workdir").directory(tempDir.toFile()).inheritIO().start().waitFor();
-        FileObject workdir = FileUtil.toFileObject(tempDir.resolve("workdir").toFile());
+        new ProcessBuilder("git", "clone", cloneURL, "workdir").directory(tempDir).inheritIO().start().waitFor();
+        FileObject workdir = FileUtil.toFileObject(new File(tempDir, "workdir"));
         new ProcessBuilder("git", "checkout", sha).directory(FileUtil.toFile(workdir)).inheritIO().start().waitFor();
+        FileObject jlObject = workdir.getFileObject("src/java.base/share/classes/java/lang/Object.java");
+        if (jlObject != null) {
+            Project prj = FileOwnerQuery.getOwner(jlObject); //ensure external roots (tests) are registered
+            ProjectUtils.getSources(prj).getSourceGroups(Sources.TYPE_GENERIC); //register external roots
+        }
+        FileObject jlmSourceVersion = workdir.getFileObject("src/java.compiler/share/classes/javax/lang/model/SourceVersion.java");
+        if (jlmSourceVersion != null) {
+            Project prj = FileOwnerQuery.getOwner(jlmSourceVersion); //ensure external roots (tests) are registered
+            ProjectUtils.getSources(prj).getSourceGroups(Sources.TYPE_GENERIC); //register external roots
+        }
         Set<Project> projects = new HashSet<>();
         Map<FileObject, FileData> file2Remap = new HashMap<>();
         String diffURL = (String) pullRequest.get("diff_url");
@@ -149,11 +165,13 @@
                     }
                     projects.add(project);
                     file2Remap.put(file, new FileData(filename, remap));
+                } else {
+                    System.err.println("no project found for: " + filename);
                 }
             }
         }
         int prId = (int) pullRequest.get("number");
-        GHPullRequest[] pr = new GHPullRequest[1];
+        SiteWrapper[] commentGitHub = new SiteWrapper[1];
         boolean[] hasWarnings = {false};
         for (Project project : projects) {
             switch (project.getClass().getName()) {//XXX: ensure that the environment variables are dropped here!
@@ -170,6 +188,9 @@
                     }
                     //TODO: download extbins!
                     break;
+                case "org.netbeans.modules.java.openjdk.project.JDKProject":
+                    //no bootstrap at this time
+                    break;
                 default:
                     System.err.println("project name: " + project.getClass().getName());
                     break;
@@ -178,35 +199,41 @@
         OpenProjects.getDefault().open(projects.toArray(new Project[0]), false);
         Map<ClasspathInfo, Collection<FileObject>> sorted = BatchUtilities.sortFiles(file2Remap.keySet());
         for (Entry<ClasspathInfo, Collection<FileObject>> e : sorted.entrySet()) {
-            JavaSource.create(e.getKey(), e.getValue()).runWhenScanFinished(cc -> {
-                FileData fileData = file2Remap.get(cc.getFileObject());
+            System.err.println("Running hints for:");
+            System.err.println("files: " + e.getValue());
+            System.err.println("classpath: " + e.getKey());
+            try {
+                JavaSource.create(e.getKey(), e.getValue()).runWhenScanFinished(cc -> {
+                    FileData fileData = file2Remap.get(cc.getFileObject());
 
-                if (fileData == null)
-                    return ;
+                    if (fileData == null)
+                        return ;
 
-                cc.toPhase(JavaSource.Phase.RESOLVED); //XXX
+                    cc.toPhase(JavaSource.Phase.RESOLVED); //XXX
 
-                List<ErrorDescription> warnings = new HintsInvoker(HintsSettings.getGlobalSettings(), new AtomicBoolean()).computeHints(cc);
-                System.err.println("warnings=" + warnings);
-                for (ErrorDescription ed : warnings) {
-                    int startLine = ed.getRange().getBegin().getLine() + 1;
-                    int targetPosition = fileData.remap[startLine];
-                    if (targetPosition == (-1))
-                        continue;
-                    String comment = "Jackpot:\nwarning: " + ed.getDescription();
-                    //TODO: fixes
-//                    if (additions != null) {
-//                        comment += "```suggestion\n" + additions.toString() + "```";
-//                    }
-                    hasWarnings[0] = true;
-                    if (pr[0] == null) {
-                        GitHub commentGithub = oauthAppToken != null ? GitHub.connectUsingOAuth(oauthAppToken) : GitHub.connect();
-                        GHRepository commentTarget = commentGithub.getRepository(fullRepoName);
-                        pr[0] = commentTarget.getPullRequest(prId);
+                    List<ErrorDescription> warnings = new HintsInvoker(HintsSettings.getGlobalSettings(), new AtomicBoolean()).computeHints(cc);
+                    System.err.println("warnings=" + warnings);
+                    for (ErrorDescription ed : warnings) {
+                        int startLine = ed.getRange().getBegin().getLine() + 1;
+                        int targetPosition = fileData.remap[startLine];
+                        if (targetPosition == (-1))
+                            continue;
+                        String comment = "Jackpot:\nwarning: " + ed.getDescription();
+                        //TODO: fixes
+    //                    if (additions != null) {
+    //                        comment += "```suggestion\n" + additions.toString() + "```";
+    //                    }
+                        hasWarnings[0] = true;
+                        if (commentGitHub[0] == null) {
+                            commentGitHub[0] = factory.create(oauthAppToken);
+                        }
+                        commentGitHub[0].createReviewComment(fullRepoName, prId, comment, sha, fileData.filename, targetPosition);
                     }
-                    pr[0].createReviewComment(comment, sha, fileData.filename, targetPosition);
-                }
-            }, false).get();
+                }, false).get();
+            } catch (Throwable ex) {
+                System.err.println("error while processing: " + e.getValue());
+                Exceptions.printStackTrace(ex);
+            }
         }
 //                String file = (String) m.get("file");
 //                int startLine = (Integer) m.get("startLine");
@@ -249,7 +276,7 @@
         }
 
         //TODO: set status on crash/error!
-        statusTarget.createCommitStatus(sha, GHCommitState.SUCCESS, null, mainComment);
+        statusGithub.createCommitStatusSuccess(fullRepoName, sha, mainComment);
     }
     
     private static final class FileData {
@@ -263,4 +290,32 @@
         
     }
 
+    //if java.base/share/classes indexing fails, copy classfiles from the default JDK platform
+    //these will typically not match the sources, but if the classfiles would be missing
+    //altogether, all subsequent indexing would fail as well:
+    @ServiceProvider(service=BinaryForSourceQueryImplementation.class, position=0)
+    public static class BinaryForSourceQueryImpl implements BinaryForSourceQueryImplementation {
+
+        @Override
+        public BinaryForSourceQuery.Result findBinaryRoots(URL sourceRoot) {
+            if (sourceRoot.toString().contains("src/java.base/share/classes")) {
+                return new BinaryForSourceQuery.Result() {
+                    @Override
+                    public URL[] getRoots() {
+                        return JavaPlatform.getDefault().getBootstrapLibraries().entries().stream().map(e -> e.getURL()).filter(u -> "java.base".equals(SourceUtils.getModuleName(u))).toArray(s -> new URL[s]);
+                    }
+
+                    @Override
+                    public void addChangeListener(ChangeListener l) {
+                    }
+
+                    @Override
+                    public void removeChangeListener(ChangeListener l) {
+                    }
+                };
+            }
+            return null;
+        }
+        
+    }
 }
diff --git a/prs/handler/impl/src/org/netbeans/modules/jackpot/prs/handler/impl/SiteWrapper.java b/prs/handler/impl/src/org/netbeans/modules/jackpot/prs/handler/impl/SiteWrapper.java
new file mode 100644
index 0000000..a3732fe
--- /dev/null
+++ b/prs/handler/impl/src/org/netbeans/modules/jackpot/prs/handler/impl/SiteWrapper.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.netbeans.modules.jackpot.prs.handler.impl;
+
+import java.io.IOException;
+
+/**
+ *
+ * @author lahvac
+ */
+public interface SiteWrapper {
+
+    public void createCommitStatusPending(String fullRepoName, String sha, String text) throws IOException;
+    public void createCommitStatusSuccess(String fullRepoName, String sha, String text) throws IOException;
+
+    public void createReviewComment(String fullRepoName, int prId, String comment, String sha, String filename, int targetPosition) throws IOException;
+    
+    public static interface Factory {
+        public SiteWrapper create(String authToken) throws IOException;
+    }
+}
diff --git a/prs/handler/nbproject/platform.properties b/prs/handler/nbproject/platform.properties
index caae5fc..8855f09 100644
--- a/prs/handler/nbproject/platform.properties
+++ b/prs/handler/nbproject/platform.properties
@@ -13,11 +13,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+branding.token=handler
 cluster.path=\
     ${nbplatform.active.dir}/apisupport:\
     ${nbplatform.active.dir}/extide:\
     ${nbplatform.active.dir}/harness:\
     ${nbplatform.active.dir}/ide:\
     ${nbplatform.active.dir}/java:\
-    ${nbplatform.active.dir}/platform
+    ${nbplatform.active.dir}/platform:\
+    ${nbplatform.active.dir}/webcommon
 nbplatform.active=apache-netbeans
diff --git a/prs/handler/nbproject/project.properties b/prs/handler/nbproject/project.properties
index a00f0a7..7b0fc50 100644
--- a/prs/handler/nbproject/project.properties
+++ b/prs/handler/nbproject/project.properties
@@ -13,10 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+app.name=${branding.token}
 modules=\
-    ${project.org.netbeans.modules.jackpot.prs.handler.impl}:\
-    ${project.org.apache.commons.codec}:\
-    ${project.org.apache.commons.logging}
-project.org.apache.commons.codec=org.apache.commons.codec
-project.org.apache.commons.logging=org.apache.commons.logging
+    ${project.org.netbeans.modules.jackpot.prs.handler.impl}
 project.org.netbeans.modules.jackpot.prs.handler.impl=impl
diff --git a/prs/handler/org.apache.commons.codec/build.xml b/prs/handler/org.apache.commons.codec/build.xml
deleted file mode 100644
index 9eb1b8a..0000000
--- a/prs/handler/org.apache.commons.codec/build.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
-<!-- for some information on what you could do (e.g. targets to override). -->
-<!-- If you delete this file and reopen the project it will be recreated. -->
-<project name="org.apache.commons.codec" default="netbeans" basedir=".">
-    <description>Builds, tests, and runs the project org.apache.commons.codec.</description>
-    <import file="nbproject/build-impl.xml"/>
-</project>
diff --git a/prs/handler/org.apache.commons.codec/manifest.mf b/prs/handler/org.apache.commons.codec/manifest.mf
deleted file mode 100644
index 01276fb..0000000
--- a/prs/handler/org.apache.commons.codec/manifest.mf
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-AutoUpdate-Show-In-Client: true
-OpenIDE-Module: org.apache.commons.codec
-OpenIDE-Module-Localizing-Bundle: org/apache/commons/codec/Bundle.properties
-OpenIDE-Module-Specification-Version: 1.0
-
diff --git a/prs/handler/org.apache.commons.codec/nbproject/build-impl.xml b/prs/handler/org.apache.commons.codec/nbproject/build-impl.xml
deleted file mode 100644
index 87dc727..0000000
--- a/prs/handler/org.apache.commons.codec/nbproject/build-impl.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!--
-*** GENERATED FROM project.xml - DO NOT EDIT  ***
-***         EDIT ../build.xml INSTEAD         ***
--->
-<project name="org.apache.commons.codec-impl" basedir="..">
-    <fail message="Please build using Ant 1.7.1 or higher.">
-        <condition>
-            <not>
-                <antversion atleast="1.7.1"/>
-            </not>
-        </condition>
-    </fail>
-    <property file="nbproject/private/suite-private.properties"/>
-    <property file="nbproject/suite.properties"/>
-    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
-    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
-    <property file="${suite.dir}/nbproject/platform.properties"/>
-    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
-        <attribute name="name"/>
-        <attribute name="value"/>
-        <sequential>
-            <property name="@{name}" value="${@{value}}"/>
-        </sequential>
-    </macrodef>
-    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
-        <attribute name="property"/>
-        <attribute name="value"/>
-        <sequential>
-            <property name="@{property}" value="@{value}"/>
-        </sequential>
-    </macrodef>
-    <property file="${user.properties.file}"/>
-    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
-    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
-    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
-    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
-        <condition>
-            <not>
-                <contains string="${cluster.path.evaluated}" substring="platform"/>
-            </not>
-        </condition>
-    </fail>
-    <import file="${harness.dir}/build.xml"/>
-</project>
diff --git a/prs/handler/org.apache.commons.codec/nbproject/genfiles.properties b/prs/handler/org.apache.commons.codec/nbproject/genfiles.properties
deleted file mode 100644
index 569939a..0000000
--- a/prs/handler/org.apache.commons.codec/nbproject/genfiles.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-build.xml.data.CRC32=71271522
-build.xml.script.CRC32=3da714ee
-build.xml.stylesheet.CRC32=15ca8a54@2.76
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=71271522
-nbproject/build-impl.xml.script.CRC32=67b36dc6
-nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.76
diff --git a/prs/handler/org.apache.commons.codec/nbproject/project.properties b/prs/handler/org.apache.commons.codec/nbproject/project.properties
deleted file mode 100644
index c6ac153..0000000
--- a/prs/handler/org.apache.commons.codec/nbproject/project.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-file.reference.commons-codec-1.3.jar=release/modules/ext/commons-codec-1.3.jar
-javac.source=1.7
-javac.compilerargs=-Xlint -Xlint:-serial
diff --git a/prs/handler/org.apache.commons.codec/nbproject/project.xml b/prs/handler/org.apache.commons.codec/nbproject/project.xml
deleted file mode 100644
index ea6e025..0000000
--- a/prs/handler/org.apache.commons.codec/nbproject/project.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.apisupport.project</type>
-    <configuration>
-        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
-            <code-name-base>org.apache.commons.codec</code-name-base>
-            <suite-component/>
-            <module-dependencies/>
-            <public-packages/>
-            <class-path-extension>
-                <runtime-relative-path>ext/commons-codec-1.3.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/commons-codec-1.3.jar</binary-origin>
-            </class-path-extension>
-        </data>
-    </configuration>
-</project>
diff --git a/prs/handler/org.apache.commons.codec/nbproject/suite.properties b/prs/handler/org.apache.commons.codec/nbproject/suite.properties
deleted file mode 100644
index 5f42472..0000000
--- a/prs/handler/org.apache.commons.codec/nbproject/suite.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-suite.dir=${basedir}/..
diff --git a/prs/handler/org.apache.commons.codec/release/modules/ext/binaries-list b/prs/handler/org.apache.commons.codec/release/modules/ext/binaries-list
deleted file mode 100644
index 9caf2fa..0000000
--- a/prs/handler/org.apache.commons.codec/release/modules/ext/binaries-list
+++ /dev/null
@@ -1,17 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-FD32786786E2ADB664D5ECC965DA47629DCA14BA commons-codec:commons-codec:1.3
diff --git a/prs/handler/org.apache.commons.codec/release/modules/ext/commons-codec-1.3-license.txt b/prs/handler/org.apache.commons.codec/release/modules/ext/commons-codec-1.3-license.txt
deleted file mode 100644
index d428420..0000000
--- a/prs/handler/org.apache.commons.codec/release/modules/ext/commons-codec-1.3-license.txt
+++ /dev/null
@@ -1,208 +0,0 @@
-Name: Apache Commons Codec
-Origin: Apache Software Foundation
-Version: 1.3
-License: Apache-2.0
-Description: Provides implementations of common encoders and decoders.
-URL: http://commons.apache.org/codec/
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/prs/handler/org.apache.commons.codec/release/modules/ext/commons-codec-1.3-notice.txt b/prs/handler/org.apache.commons.codec/release/modules/ext/commons-codec-1.3-notice.txt
deleted file mode 100644
index 439eb83..0000000
--- a/prs/handler/org.apache.commons.codec/release/modules/ext/commons-codec-1.3-notice.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/prs/handler/org.apache.commons.codec/release/modules/ext/commons-codec-1.3.jar b/prs/handler/org.apache.commons.codec/release/modules/ext/commons-codec-1.3.jar
deleted file mode 100644
index 957b675..0000000
--- a/prs/handler/org.apache.commons.codec/release/modules/ext/commons-codec-1.3.jar
+++ /dev/null
Binary files differ
diff --git a/prs/handler/org.apache.commons.codec/src/org/apache/commons/codec/Bundle.properties b/prs/handler/org.apache.commons.codec/src/org/apache/commons/codec/Bundle.properties
deleted file mode 100644
index ad64abf..0000000
--- a/prs/handler/org.apache.commons.codec/src/org/apache/commons/codec/Bundle.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-OpenIDE-Module-Name=org.apache.commons.codec
diff --git a/prs/handler/org.apache.commons.logging/build.xml b/prs/handler/org.apache.commons.logging/build.xml
deleted file mode 100644
index 284baa1..0000000
--- a/prs/handler/org.apache.commons.logging/build.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
-<!-- for some information on what you could do (e.g. targets to override). -->
-<!-- If you delete this file and reopen the project it will be recreated. -->
-<project name="org.apache.commons.logging" default="netbeans" basedir=".">
-    <description>Builds, tests, and runs the project org.apache.commons.logging.</description>
-    <import file="nbproject/build-impl.xml"/>
-</project>
diff --git a/prs/handler/org.apache.commons.logging/manifest.mf b/prs/handler/org.apache.commons.logging/manifest.mf
deleted file mode 100644
index aa0979d..0000000
--- a/prs/handler/org.apache.commons.logging/manifest.mf
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-AutoUpdate-Show-In-Client: true
-OpenIDE-Module: org.apache.commons.logging
-OpenIDE-Module-Localizing-Bundle: org/apache/commons/logging/Bundle.properties
-OpenIDE-Module-Specification-Version: 1.0
-
diff --git a/prs/handler/org.apache.commons.logging/nbproject/build-impl.xml b/prs/handler/org.apache.commons.logging/nbproject/build-impl.xml
deleted file mode 100644
index 806696c..0000000
--- a/prs/handler/org.apache.commons.logging/nbproject/build-impl.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!--
-*** GENERATED FROM project.xml - DO NOT EDIT  ***
-***         EDIT ../build.xml INSTEAD         ***
--->
-<project name="org.apache.commons.logging-impl" basedir="..">
-    <fail message="Please build using Ant 1.7.1 or higher.">
-        <condition>
-            <not>
-                <antversion atleast="1.7.1"/>
-            </not>
-        </condition>
-    </fail>
-    <property file="nbproject/private/suite-private.properties"/>
-    <property file="nbproject/suite.properties"/>
-    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
-    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
-    <property file="${suite.dir}/nbproject/platform.properties"/>
-    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
-        <attribute name="name"/>
-        <attribute name="value"/>
-        <sequential>
-            <property name="@{name}" value="${@{value}}"/>
-        </sequential>
-    </macrodef>
-    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
-        <attribute name="property"/>
-        <attribute name="value"/>
-        <sequential>
-            <property name="@{property}" value="@{value}"/>
-        </sequential>
-    </macrodef>
-    <property file="${user.properties.file}"/>
-    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
-    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
-    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
-    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
-        <condition>
-            <not>
-                <contains string="${cluster.path.evaluated}" substring="platform"/>
-            </not>
-        </condition>
-    </fail>
-    <import file="${harness.dir}/build.xml"/>
-</project>
diff --git a/prs/handler/org.apache.commons.logging/nbproject/genfiles.properties b/prs/handler/org.apache.commons.logging/nbproject/genfiles.properties
deleted file mode 100644
index 3cd2211..0000000
--- a/prs/handler/org.apache.commons.logging/nbproject/genfiles.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-build.xml.data.CRC32=4aa1ecde
-build.xml.script.CRC32=704985da
-build.xml.stylesheet.CRC32=15ca8a54@2.76
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=4aa1ecde
-nbproject/build-impl.xml.script.CRC32=a329aae5
-nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.76
diff --git a/prs/handler/org.apache.commons.logging/nbproject/project.properties b/prs/handler/org.apache.commons.logging/nbproject/project.properties
deleted file mode 100644
index 6fdc9a6..0000000
--- a/prs/handler/org.apache.commons.logging/nbproject/project.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-file.reference.commons-logging-1.1.1.jar=release/modules/ext/commons-logging-1.1.1.jar
-javac.source=1.7
-javac.compilerargs=-Xlint -Xlint:-serial
diff --git a/prs/handler/org.apache.commons.logging/nbproject/project.xml b/prs/handler/org.apache.commons.logging/nbproject/project.xml
deleted file mode 100644
index 355e688..0000000
--- a/prs/handler/org.apache.commons.logging/nbproject/project.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.apisupport.project</type>
-    <configuration>
-        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
-            <code-name-base>org.apache.commons.logging</code-name-base>
-            <suite-component/>
-            <module-dependencies/>
-            <public-packages/>
-            <class-path-extension>
-                <runtime-relative-path>ext/commons-logging-1.1.1.jar</runtime-relative-path>
-                <binary-origin>release/modules/ext/commons-logging-1.1.1.jar</binary-origin>
-            </class-path-extension>
-        </data>
-    </configuration>
-</project>
diff --git a/prs/handler/org.apache.commons.logging/nbproject/suite.properties b/prs/handler/org.apache.commons.logging/nbproject/suite.properties
deleted file mode 100644
index 5f42472..0000000
--- a/prs/handler/org.apache.commons.logging/nbproject/suite.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-suite.dir=${basedir}/..
diff --git a/prs/handler/org.apache.commons.logging/release/modules/ext/binaries-list b/prs/handler/org.apache.commons.logging/release/modules/ext/binaries-list
deleted file mode 100644
index 5f56286..0000000
--- a/prs/handler/org.apache.commons.logging/release/modules/ext/binaries-list
+++ /dev/null
@@ -1,17 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-5043BFEBC3DB072ED80FBD362E7CAF00E885D8AE commons-logging:commons-logging:1.1.1
diff --git a/prs/handler/org.apache.commons.logging/release/modules/ext/commons-logging-1.1.1-license.txt b/prs/handler/org.apache.commons.logging/release/modules/ext/commons-logging-1.1.1-license.txt
deleted file mode 100644
index d68b66f..0000000
--- a/prs/handler/org.apache.commons.logging/release/modules/ext/commons-logging-1.1.1-license.txt
+++ /dev/null
@@ -1,208 +0,0 @@
-Name: Apache Jakarta Commons Logging
-Origin: Apache Software Foundation
-Version: 1.1.1
-License: Apache-2.0
-Description: Logging component
-URL: http://commons.apache.org/logging/
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/prs/handler/org.apache.commons.logging/release/modules/ext/commons-logging-1.1.1-notice.txt b/prs/handler/org.apache.commons.logging/release/modules/ext/commons-logging-1.1.1-notice.txt
deleted file mode 100644
index 6e15324..0000000
--- a/prs/handler/org.apache.commons.logging/release/modules/ext/commons-logging-1.1.1-notice.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-// ------------------------------------------------------------------
-// NOTICE file corresponding to the section 4d of The Apache License,
-// Version 2.0, in this case for Commons Logging
-// ------------------------------------------------------------------
-
-Commons Logging
-Copyright 2001-2007 The Apache Software Foundation
-
-This product includes/uses software(s) developed by 'an unknown organization'
-  - Unnamed - avalon-framework:avalon-framework:jar:4.1.3
-  - Unnamed - log4j:log4j:jar:1.2.12
-  - Unnamed - logkit:logkit:jar:1.0.1
-
-
-
diff --git a/prs/handler/org.apache.commons.logging/release/modules/ext/commons-logging-1.1.1.jar b/prs/handler/org.apache.commons.logging/release/modules/ext/commons-logging-1.1.1.jar
deleted file mode 100644
index 1deef14..0000000
--- a/prs/handler/org.apache.commons.logging/release/modules/ext/commons-logging-1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/prs/handler/org.apache.commons.logging/src/org/apache/commons/logging/Bundle.properties b/prs/handler/org.apache.commons.logging/src/org/apache/commons/logging/Bundle.properties
deleted file mode 100644
index 3440563..0000000
--- a/prs/handler/org.apache.commons.logging/src/org/apache/commons/logging/Bundle.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-OpenIDE-Module-Name=org.apache.commons.logging
diff --git a/prs/webapp/src/main/java/org/netbeans/jackpot/prs/webapp/WebAppEnableDisable.java b/prs/webapp/src/main/java/org/netbeans/jackpot/prs/webapp/WebAppEnableDisable.java
index 4213667..001d2d8 100644
--- a/prs/webapp/src/main/java/org/netbeans/jackpot/prs/webapp/WebAppEnableDisable.java
+++ b/prs/webapp/src/main/java/org/netbeans/jackpot/prs/webapp/WebAppEnableDisable.java
@@ -81,7 +81,7 @@
                     config.put("url", NOTIFY_HOOK_URL);
                     config.put("content_type", "json");
                     config.put("content_type", "json");
-                    repository.createHook("Jackpot", config, EnumSet.of(GHEvent.PULL_REQUEST), true);
+                    repository.createHook("web", config, EnumSet.of(GHEvent.PULL_REQUEST), true);
                 }
             }
         } catch (IOException ex) {
diff --git a/prs/webapp/src/main/java/org/netbeans/jackpot/prs/webapp/WebAppNotify.java b/prs/webapp/src/main/java/org/netbeans/jackpot/prs/webapp/WebAppNotify.java
index 11dbd19..2b84e6a 100644
--- a/prs/webapp/src/main/java/org/netbeans/jackpot/prs/webapp/WebAppNotify.java
+++ b/prs/webapp/src/main/java/org/netbeans/jackpot/prs/webapp/WebAppNotify.java
@@ -58,7 +58,7 @@
             return ;
         }
         Preferences handlerPrefs = Config.getDefault().getPreferences().node("handler");
-        String handler = handlerPrefs.get("handler", "handler");
+        String handler = handlerPrefs.get("handler", "handler.local");
         String remoteHost = handlerPrefs.get("remoteHost", null);
         String remotePath = handlerPrefs.get("remotePath", null);
         ProcessBuilder builder;