[MNG-7263] improve AbstractLifecycleProvider
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/providers/AbstractLifecycleProvider.java b/maven-core/src/main/java/org/apache/maven/lifecycle/providers/AbstractLifecycleProvider.java
index eb80a58..b69f5aa 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/providers/AbstractLifecycleProvider.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/providers/AbstractLifecycleProvider.java
@@ -41,11 +41,18 @@
         HashMap<String, LifecyclePhase> defaultBindings = null;
         if ( pluginBindings != null )
         {
-            int len = pluginBindings.length;
-            defaultBindings = new HashMap<>();
-            for ( int i = 0; i < len; i++ )
+            final int len = pluginBindings.length;
+
+            if ( len < 1 || len % 2 != 0 )
             {
-                defaultBindings.put( pluginBindings[i++], new LifecyclePhase( pluginBindings[i] ) );
+                throw new IllegalArgumentException( "Plugin bindings must have more than 0, even count of elements" );
+            }
+
+            defaultBindings = new HashMap<>( len / 2 );
+
+            for ( int i = 0; i < len; i += 2 )
+            {
+                defaultBindings.put( pluginBindings[i], new LifecyclePhase( pluginBindings[i + 1] ) );
             }
         }