Break build after third warning
diff --git a/src/main/java/org/apache/maven/extensions/ci/CleanInstallExtension.java b/src/main/java/org/apache/maven/extensions/ci/CleanInstallExtension.java
index a5ff0a9..c64c377 100644
--- a/src/main/java/org/apache/maven/extensions/ci/CleanInstallExtension.java
+++ b/src/main/java/org/apache/maven/extensions/ci/CleanInstallExtension.java
@@ -35,6 +35,7 @@
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -131,18 +132,28 @@
             Map<State, List<Data>> groupedLines = originalLines.stream()
                 .collect( Collectors.groupingBy( state ) );
             
+            AtomicInteger counter = new AtomicInteger();
+            
             List<Data> disjoint = groupedLines.get( State.PROJECTKEY );
             if ( !Optional.ofNullable( disjoint ).map( List::isEmpty ).orElse( true ) )
             {
-                
                 if ( session.getGoals().contains( "install" ) )
                 {
                     disjoint.stream().forEach( d -> 
                     {
                         logger.warn( "Previous 'install' on this project was unnecessary "
-                            + "and polluted your local repository" );
+                                        + "and polluted your local repository" );
                         logger.warn( "A good Maven citizen uses 'verify' instead" );
+                        
+                        counter.set( d.counter );
                     } );
+
+                    if ( counter.get() > 2 )
+                    {
+                        logger.warn( "I warned you...." );
+                        throw new MavenExecutionException( "Stubborn developer spotted",
+                                                           session.getTopLevelProject().getFile() );
+                    }
                 }
                 else
                 {
@@ -164,9 +175,9 @@
                 data.executionRootDirectory = session.getExecutionRootDirectory();
                 data.goals = session.getGoals();
                 data.projectKeys = projectKeys;
+                data.counter = counter.incrementAndGet();
                 newLines.add( data );
             }
-            
 
             if ( !( newLines.isEmpty() && originalLines.isEmpty() ) )
             {
@@ -199,8 +210,12 @@
        PROJECTKEY, DEPENDENCYKEY, NONE    
     }
     
-    private static class Data implements Serializable 
+    private static class Data implements Serializable
     {
+        private static final long serialVersionUID = -6588609095599417153L;
+
+        private int counter;
+        
         private String executionRootDirectory;
         
         private List<String> goals;