diff --git a/pom.xml b/pom.xml
index 24694af..62863f1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,7 +34,7 @@
 
   <properties>
     <envClassifier>hadoop2</envClassifier>
-    <specificHadoopVersion>2.3.0</specificHadoopVersion>
+    <specificHadoopVersion>2.6.0</specificHadoopVersion>
   </properties>
 
   <name>Apache MRUnit</name>
diff --git a/pom.xml.orig b/pom.xml.orig
new file mode 100644
index 0000000..24694af
--- /dev/null
+++ b/pom.xml.orig
@@ -0,0 +1,453 @@
+<?xml version="1.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.
+*
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <!-- To retrieve the ASF organization and the ASF license -->
+  <parent>
+    <groupId>org.apache</groupId>
+    <artifactId>apache</artifactId>
+    <version>11</version>
+  </parent>
+
+  <groupId>org.apache.mrunit</groupId>
+  <artifactId>mrunit</artifactId>
+  <packaging>jar</packaging>
+  <version>1.2.0-SNAPSHOT</version>
+
+  <properties>
+    <envClassifier>hadoop2</envClassifier>
+    <specificHadoopVersion>2.3.0</specificHadoopVersion>
+  </properties>
+
+  <name>Apache MRUnit</name>
+  <description>
+        Apache MRUnit is a Java library that helps developers unit test Apache Hadoop map reduce jobs.
+  </description>
+  <url>http://mrunit.apache.org</url>
+  <inceptionYear>2009</inceptionYear>
+
+  <scm>
+    <connection>scm:git:http://git-wip-us.apache.org/repos/asf/mrunit.git</connection>
+    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/mrunit.git</developerConnection>
+    <url>https://git-wip-us.apache.org/repos/asf?p=mrunit.git;a=summary</url>
+  </scm>
+  <issueManagement>
+    <system>jira</system>
+    <url>http://issues.apache.org/jira/browse/MRUNIT</url>
+  </issueManagement>
+  <distributionManagement>
+    <downloadUrl>http://mrunit.apache.org/general/downloads.html</downloadUrl>
+  </distributionManagement>
+  <ciManagement>
+    <system>Jenkins</system>
+    <url>http://builds.apache.org/job/mrunit-trunk/</url>
+  </ciManagement>
+
+  <mailingLists>
+    <mailingList>
+      <name>user</name>
+      <post>user@mrunit.apache.org</post>
+      <subscribe>user-subscribe@mrunit.apache.org</subscribe>
+      <unsubscribe>user-unsubscribe@mrunit.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/mrunit-user</archive>
+    </mailingList>
+    <mailingList>
+      <name>dev</name>
+      <post>dev@mrunit.apache.org</post>
+      <subscribe>dev-subscribe@mrunit.apache.org</subscribe>
+      <unsubscribe>dev-unsubscribe@mrunit.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/mrunit-dev</archive>
+    </mailingList>
+    <mailingList>
+      <name>commits</name>
+      <post>commits@mrunit.apache.org</post>
+      <subscribe>commits-subscribe@mrunit.apache.org</subscribe>
+      <unsubscribe>commits-unsubscribe@mrunit.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/mrunit-commits</archive>
+    </mailingList>
+  </mailingLists>
+
+  <developers>
+    <developer>
+      <id>kimballa.apache.org</id>
+      <email>kimballa@apache.org</email>
+      <name>Aaron Kimball</name>
+    </developer>
+    <developer>
+      <id>cos.apache.org</id>
+      <email>cos@apache.org</email>
+      <name>Konstantin Boudnik</name>
+    </developer>
+    <developer>
+      <id>gwu.apache.org</id>
+      <email>gwu@apache.org</email>
+      <name>Garrett Wu</name>
+    </developer>
+    <developer>
+      <id>esammer.apache.org</id>
+      <email>esammer@apache.org</email>
+      <name>Eric Sammer</name>
+    </developer>
+    <developer>
+      <id>brock.apache.org</id>
+      <email>brock@apache.org</email>
+      <name>Brock Noland</name>
+    </developer>
+    <developer>
+      <id>jdonofrio.apache.org</id>
+      <email>jdonofrio@apache.org</email>
+      <name>Jim Donofrio</name>
+    </developer>
+    <developer>
+      <id>jarcec.apache.org</id>
+      <email>jarcec@apache.org</email>
+      <name>Jarek Jarcec Cecho</name>
+    </developer>
+    <developer>
+      <id>dbeech.apache.org</id>
+      <email>dbeech@apache.org</email>
+      <name>Dave Beech</name>
+    </developer>
+    <developer>
+      <id>dechouxb.apache.org</id>
+      <email>dechouxb@apache.org</email>
+      <name>Bertrand Dechoux</name>
+    </developer>
+    <developer>
+      <id>kinley.apache.org</id>
+      <email>kinley@apache.org</email>
+      <name>James Robert Kinley</name>
+    </developer>
+    <developer>
+      <id>mattmann.apache.org</id>
+      <email>mattmann@apache.org</email>
+      <name>Chris Mattmann</name>
+    </developer>
+    <developer>
+      <id>nigel.apache.org</id>
+      <email>nigel@apache.org</email>
+      <name>Nigel Daley</name>
+    </developer>
+    <developer>
+      <id>phunt.apache.org</id>
+      <email>phunt@apache.org</email>
+      <name>Patrick D. Hunt</name>
+    </developer>
+  </developers>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-clean-plugin</artifactId>
+        <version>2.4.1</version>
+        <configuration>
+          <excludeDefaultDirectories>true</excludeDefaultDirectories>
+          <filesets>
+            <fileset>
+              <directory>${project.build.directory}</directory>
+              <excludes>
+                <exclude>*hadoop?.jar</exclude>
+              </excludes>
+            </fileset>
+          </filesets>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.3.2</version>
+        <configuration>
+          <source>1.6</source>
+          <target>1.6</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-enforcer-plugin</artifactId>
+        <version>1.3.1</version>
+        <executions>
+          <execution>
+            <id>enforce-java</id>
+            <goals>
+              <goal>enforce</goal>
+            </goals>
+            <configuration>
+              <rules>
+                <requireJavaVersion>
+                  <version>[1.7.0-22,)</version>
+                </requireJavaVersion>
+              </rules>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.8.1</version>
+        <configuration>
+          <redirectTestOutputToFile>true</redirectTestOutputToFile>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <version>0.8</version>
+        <executions>
+          <execution>
+            <phase>prepare-package</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+            <configuration>
+              <excludes>
+                <exclude>BUILD.txt</exclude>
+                <exclude>CHANGES.txt</exclude>
+                <exclude>BIN-NOTICE.txt</exclude>
+                <exclude>doap_mrunit.rdf</exclude>
+                <exclude>src/test/resources/log4j.properties</exclude>
+                <exclude>.idea/</exclude>
+                <exclude>.git/</exclude>
+                <exclude>.gitignore</exclude>
+              </excludes>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>2.4</version>
+        <configuration>
+          <classifier>${envClassifier}</classifier>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <version>2.8.1</version>
+        <configuration>
+          <excludePackageNames>*.internal</excludePackageNames>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-source-plugin</artifactId>
+        <version>2.1.2</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>jar-no-fork</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <version>2.8</version>
+        <configuration>
+          <failOnWarning>true</failOnWarning>
+          <ignoreNonCompile>true</ignoreNonCompile>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>prepare-package</phase>
+            <goals>
+              <goal>analyze-only</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>net.ju-n.maven.plugins</groupId>
+        <artifactId>checksum-maven-plugin</artifactId>
+        <version>1.0.1</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-gpg-plugin</artifactId>
+        <version>1.4</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-deploy-plugin</artifactId>
+        <version>2.7</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-doap-plugin</artifactId>
+        <version>1.1</version>
+        <configuration>
+          <doapOptions>
+            <programmingLanguage>Java</programmingLanguage>
+            <license>${project.licenses[0].url}</license>
+            <homepage>${project.url}</homepage>
+            <name>${project.name}</name>
+            <created>${project.inceptionYear}-01-01</created>
+            <vendor>${project.organization.name}</vendor>
+            <shortdesc>${project.description}</shortdesc>
+            <description>The ${project.description}</description>
+            <mailingList>${project.url}/mail-lists.html</mailingList>
+            <downloadPage>${project.distributionManagement.downloadUrl}</downloadPage>
+            <bugDatabase>${project.issueManagement.url}</bugDatabase>
+          </doapOptions>
+
+          <asfExtOptions>
+            <charter>${project.description}</charter>
+            <pmc>${project.url}</pmc>
+            <name>${project.name}</name>
+            <chair>Brock Noland</chair>
+          </asfExtOptions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <profiles>
+    <profile>
+      <id>sign</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>verify</phase>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>dist-src</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <version>2.3</version>
+            <configuration>
+              <tarLongFileMode>gnu</tarLongFileMode>
+              <finalName>apache-mrunit-${project.version}-${envClassifier}</finalName>
+              <descriptors>
+                <descriptor>src/main/assembly/src-assembly.xml</descriptor>
+              </descriptors>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>dist-bin</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <version>2.3</version>
+            <configuration>
+              <tarLongFileMode>gnu</tarLongFileMode>
+              <finalName>apache-mrunit-${project.version}-${envClassifier}</finalName>
+              <descriptors>
+                <descriptor>src/main/assembly/bin-assembly.xml</descriptor>
+              </descriptors>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.10</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+      <version>1.9.5</version>
+    </dependency>
+    <dependency>
+      <groupId>org.hamcrest</groupId>
+      <artifactId>hamcrest-core</artifactId>
+      <version>1.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+      <version>11.0.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-common</artifactId>
+      <version>${specificHadoopVersion}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-mapreduce-client-core</artifactId>
+      <version>${specificHadoopVersion}</version>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Need the latest of PowerMock because of an issue with @Rule see Power-Mockito version compatibility matrix, had to upgrade Mockito version too -->
+    <dependency>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-core</artifactId>
+      <version>1.5.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-api-mockito</artifactId>
+      <version>1.5.1</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.mockito</groupId>
+          <artifactId>mockito-all</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-module-junit4</artifactId>
+      <version>1.5.1</version>
+    </dependency>
+  </dependencies>
+</project>
