### Eclipse Workspace Patch 1.0
#P JLanguageTool
Index: src/main/java/org/languagetool/rules/RuleMatch.java
===================================================================
--- src/main/java/org/languagetool/rules/RuleMatch.java	(revision 9027)
+++ src/main/java/org/languagetool/rules/RuleMatch.java	(working copy)
@@ -47,6 +47,8 @@
   private final String shortMessage;   // for OOo/LO context menu
 
   private List<String> suggestedReplacements = new ArrayList<String>();
+  
+  private boolean toBeDiscarded=false;
 
   //TODO: remove this one after all rules get their short comments in place
   public RuleMatch(Rule rule, int fromPos, int toPos, String message) {
@@ -238,5 +240,14 @@
       return 1;
     return 0;
   }
+  
+  /** Set match to be discarded*/ 
+  public void setToBeDiscarded() {
+	    this.toBeDiscarded=true;
+  }  
+  /** Set match to be discarded*/ 
+  public boolean isToBeDiscarded() {
+	    return this.toBeDiscarded;
+  }
 
 }
Index: src/main/java/org/languagetool/tools/Tools.java
===================================================================
--- src/main/java/org/languagetool/tools/Tools.java	(revision 9027)
+++ src/main/java/org/languagetool/tools/Tools.java	(working copy)
@@ -164,6 +164,9 @@
         final PatternRule pRule = (PatternRule) match.getRule();
         output += "[" + pRule.getSubId() + "]";
       }
+      if (match.isToBeDiscarded()) {
+    	  output +=" *Sentence to be discarded*";
+      }
       System.out.println(output);
       String msg = match.getMessage();
       msg = msg.replaceAll("<suggestion>", "'");
Index: src/main/java/org/languagetool/JLanguageTool.java
===================================================================
--- src/main/java/org/languagetool/JLanguageTool.java	(revision 9027)
+++ src/main/java/org/languagetool/JLanguageTool.java	(working copy)
@@ -29,6 +29,7 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -580,6 +581,13 @@
       checkAnalyzedSentence(paraMode, allRules, charCount, lineCount,
           columnCount, sentence, analyzedText);
 
+      // If a threshold of errors per sentence is exceeded, mark all the rule matches. 
+      if (sentenceMatches.size()>3) {
+	      Iterator<RuleMatch> itr = sentenceMatches.iterator();
+	      while(itr.hasNext()) 
+	          itr.next().setToBeDiscarded();
+      }
+      
       Collections.sort(sentenceMatches);
       ruleMatches.addAll(sentenceMatches);
       charCount += sentence.length();
