Added optional Clirr task to detect binary/source incompatibility changes between releases

diff --git a/build-clirr.xml b/build-clirr.xml
new file mode 100644
index 0000000..05af071
--- /dev/null
+++ b/build-clirr.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" standalone="yes" ?>
+<project name="Compatibility testing to ensure compatibility between minor versions"
+  default="check-compatibility"
+>
+  <path id="clirr.lib">
+    <fileset dir="${basedir}/regression" includes="clirr*.jar" />
+  </path>
+  <taskdef classpathref="clirr.lib" resource="clirrtask.properties" />
+
+  <target name="check-compatibility">
+    <clirr>
+      <origFiles dir="${basedir}/regression">
+       <include name="jackson*.jar" />
+      </origFiles>
+      <newFiles dir="${basedir}/build">
+       <include name="jackson-core-asl*.jar" />
+       <include name="jackson-mapper-asl*.jar" />
+      </newFiles>
+    </clirr>
+  </target>
+</project>
diff --git a/regression/clirr-core-0.6-uber.jar b/regression/clirr-core-0.6-uber.jar
new file mode 100644
index 0000000..d4245f4
--- /dev/null
+++ b/regression/clirr-core-0.6-uber.jar
Binary files differ
diff --git a/regression/jackson-core-asl-1.4.3.jar b/regression/jackson-core-asl-1.4.3.jar
new file mode 100644
index 0000000..1bc6032
--- /dev/null
+++ b/regression/jackson-core-asl-1.4.3.jar
Binary files differ
diff --git a/regression/jackson-mapper-asl-1.4.3.jar b/regression/jackson-mapper-asl-1.4.3.jar
new file mode 100644
index 0000000..a13415a
--- /dev/null
+++ b/regression/jackson-mapper-asl-1.4.3.jar
Binary files differ
diff --git a/src/java/org/codehaus/jackson/io/IOContext.java b/src/java/org/codehaus/jackson/io/IOContext.java
index ffac1ee..0bf2855 100644
--- a/src/java/org/codehaus/jackson/io/IOContext.java
+++ b/src/java/org/codehaus/jackson/io/IOContext.java
@@ -13,16 +13,16 @@
 public final class IOContext
 {
     /*
-    //////////////////////////////////////////////////////
-    // Configuration
-    //////////////////////////////////////////////////////
+    /*****************************************************
+    /* Configuration
+    /*****************************************************
      */
 
     /**
      * Reference to the source object, which can be used for displaying
      * location information
      */
-    final Object _sourceRef;
+    protected final Object _sourceRef;
 
     /**
      * Encoding used by the underlying stream, if known.
@@ -40,15 +40,15 @@
     protected final boolean _managedResource;
 
     /*
-    //////////////////////////////////////////////////////
-    // Buffer handling, recycling
-    //////////////////////////////////////////////////////
+    /*****************************************************
+    /* Buffer handling, recycling
+    /*****************************************************
      */
 
     /**
      * Recycler used for actual allocation/deallocation/reuse
      */
-    final BufferRecycler _bufferRecycler;
+    protected final BufferRecycler _bufferRecycler;
 
     /**
      * Reference to the allocated I/O buffer for low-level input reading,
@@ -85,9 +85,9 @@
     protected char[] _nameCopyBuffer = null;
 
     /*
-    //////////////////////////////////////////////////////
-    // Life-cycle
-    //////////////////////////////////////////////////////
+    /*****************************************************
+    /* Life-cycle
+    /*****************************************************
      */
 
     public IOContext(BufferRecycler br, Object sourceRef, boolean managedResource)
diff --git a/src/test/org/codehaus/jackson/jaxb/TestPropertyOrdering.java b/src/test/org/codehaus/jackson/jaxb/TestPropertyOrdering.java
index cf4273c..bd9485e 100644
--- a/src/test/org/codehaus/jackson/jaxb/TestPropertyOrdering.java
+++ b/src/test/org/codehaus/jackson/jaxb/TestPropertyOrdering.java
@@ -1,7 +1,5 @@
 package org.codehaus.jackson.jaxb;
 
-import java.util.*;
-
 import javax.xml.bind.annotation.*;
 
 import org.codehaus.jackson.map.ObjectMapper;