[jboss-svn-commits] JBoss Common SVN: r2803 - in common-core/tags: 2.2.5.beta1 and 9 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Apr 6 16:20:44 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-04-06 16:20:44 -0400 (Sun, 06 Apr 2008)
New Revision: 2803

Added:
   common-core/tags/2.2.5.beta1/
   common-core/tags/2.2.5.beta1/pom.xml
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/net/sockets/RMIMultiSocketClient.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Counter.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/EmptyStringException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/HashCode.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/LongCounter.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedError.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedRuntimeException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedSQLException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NoSuchMethodException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NotImplementedException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Null.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NullArgumentException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/StopWatch.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnexpectedThrowable.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnreachableStatementException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ArrayIterator.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CollectionException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CompoundKey.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/EmptyCollectionException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/FullCollectionException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ListSet.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/SerializableEnumeration.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/deadlock/ApplicationDeadlockException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/id/VMID.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/platform/PID.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyContainer.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyError.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyEvent.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/state/IllegalTransitionException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/StartTimeoutException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/TaskStoppedException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolFullException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolStoppedException.java
Removed:
   common-core/tags/2.2.5.beta1/pom.xml
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/net/sockets/RMIMultiSocketClient.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Counter.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/EmptyStringException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/HashCode.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/LongCounter.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedError.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedRuntimeException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedSQLException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NoSuchMethodException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NotImplementedException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Null.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NullArgumentException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/StopWatch.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnexpectedThrowable.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnreachableStatementException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ArrayIterator.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CollectionException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CompoundKey.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/EmptyCollectionException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/FullCollectionException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ListSet.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/SerializableEnumeration.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/deadlock/ApplicationDeadlockException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/id/VMID.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/platform/PID.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyContainer.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyError.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyEvent.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/state/IllegalTransitionException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/StartTimeoutException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/TaskStoppedException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolFullException.java
   common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolStoppedException.java
Log:
[maven-release-plugin]  copy for tag 2.2.5.beta1

Copied: common-core/tags/2.2.5.beta1 (from rev 2799, common-core/trunk)

Deleted: common-core/tags/2.2.5.beta1/pom.xml
===================================================================
--- common-core/trunk/pom.xml	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/pom.xml	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,91 +0,0 @@
-<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/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.jboss</groupId>
-    <artifactId>jboss-parent</artifactId>
-    <version>3</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>jboss-common-core</artifactId>
-  <version>2.2.5-SNAPSHOT</version>
-  <packaging>jar</packaging>
-  <name>JBoss Common Classes</name>
-  <url>http://www.jboss.org</url>
-  <description>JBoss Common Core Utility classes</description>
-  <scm>
-    <connection>scm:svn:https://svn.jboss.org/repos/common/common-core/trunk</connection>
-  </scm>
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-release-plugin</artifactId>
-        <configuration>
-          <!-- The tagBase property is needed during the release process so that the maven release plugin
-            will create the release tag in the appropriate location. -->
-          <tagBase>https://svn.jboss.org/repos/common/common-core/tags</tagBase>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>jboss.maven-plugins</groupId>
-        <artifactId>jboss-deploy-maven-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </build>
-  <repositories>
-    <repository>
-      <id>repository.jboss.org</id>
-      <name>JBoss Repository</name>
-      <layout>default</layout>
-      <url>http://repository.jboss.org/maven2/</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <repository>
-      <id>snapshots.jboss.org</id>
-      <name>JBoss Snapshot Repository</name>
-      <layout>default</layout>
-      <url>http://snapshots.jboss.org/maven2/</url>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-    </repository>
-  </repositories>
-  
-  <dependencies>
-  
-    <dependency>
-      <groupId>apache-httpclient</groupId>
-      <artifactId>commons-httpclient</artifactId>
-      <version>2.0.2</version>
-      <scope>compile</scope>
-      <optional>true</optional> <!-- org.jboss.net.protocol.http.DavURLLister -->
-    </dependency>
-    
-    <dependency>
-      <groupId>apache-slide</groupId>
-      <artifactId>webdavlib</artifactId>
-      <version>2.0</version>
-      <scope>compile</scope>
-      <optional>true</optional> <!-- org.jboss.net.protocol.http.DavURLLister -->
-    </dependency>
-
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-common-logging-spi</artifactId>
-      <version>2.0.5.GA</version>
-      <scope>compile</scope>
-    </dependency>
-    
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.4</version>
-      <scope>test</scope>
-    </dependency>
-    
-  </dependencies>  
-  
-</project>

Copied: common-core/tags/2.2.5.beta1/pom.xml (from rev 2802, common-core/trunk/pom.xml)
===================================================================
--- common-core/tags/2.2.5.beta1/pom.xml	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/pom.xml	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,91 @@
+<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/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.jboss</groupId>
+    <artifactId>jboss-parent</artifactId>
+    <version>3</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jboss-common-core</artifactId>
+  <version>2.2.5.beta1</version>
+  <packaging>jar</packaging>
+  <name>JBoss Common Classes</name>
+  <url>http://www.jboss.org</url>
+  <description>JBoss Common Core Utility classes</description>
+  <scm>
+    <connection>scm:svn:https://svn.jboss.org/repos/common/common-core/tags/2.2.5.beta1</connection>
+  </scm>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-release-plugin</artifactId>
+        <configuration>
+          <!-- The tagBase property is needed during the release process so that the maven release plugin
+            will create the release tag in the appropriate location. -->
+          <tagBase>https://svn.jboss.org/repos/common/common-core/tags</tagBase>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>jboss.maven-plugins</groupId>
+        <artifactId>jboss-deploy-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </build>
+  <repositories>
+    <repository>
+      <id>repository.jboss.org</id>
+      <name>JBoss Repository</name>
+      <layout>default</layout>
+      <url>http://repository.jboss.org/maven2/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>snapshots.jboss.org</id>
+      <name>JBoss Snapshot Repository</name>
+      <layout>default</layout>
+      <url>http://snapshots.jboss.org/maven2/</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+  
+  <dependencies>
+  
+    <dependency>
+      <groupId>apache-httpclient</groupId>
+      <artifactId>commons-httpclient</artifactId>
+      <version>2.0.2</version>
+      <scope>compile</scope>
+      <optional>true</optional> <!-- org.jboss.net.protocol.http.DavURLLister -->
+    </dependency>
+    
+    <dependency>
+      <groupId>apache-slide</groupId>
+      <artifactId>webdavlib</artifactId>
+      <version>2.0</version>
+      <scope>compile</scope>
+      <optional>true</optional> <!-- org.jboss.net.protocol.http.DavURLLister -->
+    </dependency>
+
+    <dependency>
+      <groupId>jboss</groupId>
+      <artifactId>jboss-common-logging-spi</artifactId>
+      <version>2.0.4.GA</version>
+      <scope>compile</scope>
+    </dependency>
+    
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.4</version>
+      <scope>test</scope>
+    </dependency>
+    
+  </dependencies>  
+  
+</project>
\ No newline at end of file

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/net/sockets/RMIMultiSocketClient.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/net/sockets/RMIMultiSocketClient.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/net/sockets/RMIMultiSocketClient.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,63 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.net.sockets;
-
-   
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationHandler;
-import java.io.Serializable;
-import java.util.Random;
-import java.rmi.Remote;
-
-/**
- *
- * @author Scott.Stark at jboss.org
- * @version $Revision$
- */
-public class RMIMultiSocketClient implements InvocationHandler, Serializable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   protected Remote[] stubs;
-   protected Random random;
-   public RMIMultiSocketClient(Remote[] stubs)
-   {
-      this.stubs = stubs;
-      random = new Random();
-   }
-
-   public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
-   {
-      if (method.getName().equals("hashCode"))
-      {
-         return new Integer(stubs[0].hashCode());
-      }
-      if (method.getName().equals("equals"))
-      {
-         return new Boolean(stubs[0].equals(args[0]));
-      }
-      int i = random.nextInt(stubs.length);
-      long hash = MethodHash.calculateHash(method);
-      RMIMultiSocket target = (RMIMultiSocket)stubs[i];
-      return target.invoke(hash, args);
-   }   
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/net/sockets/RMIMultiSocketClient.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/net/sockets/RMIMultiSocketClient.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/net/sockets/RMIMultiSocketClient.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/net/sockets/RMIMultiSocketClient.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,63 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.net.sockets;
+
+   
+import java.lang.reflect.Method;
+import java.lang.reflect.InvocationHandler;
+import java.io.Serializable;
+import java.util.Random;
+import java.rmi.Remote;
+
+/**
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class RMIMultiSocketClient implements InvocationHandler, Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -945837789475428529L;
+   protected Remote[] stubs;
+   protected Random random;
+   public RMIMultiSocketClient(Remote[] stubs)
+   {
+      this.stubs = stubs;
+      random = new Random();
+   }
+
+   public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
+   {
+      if (method.getName().equals("hashCode"))
+      {
+         return new Integer(stubs[0].hashCode());
+      }
+      if (method.getName().equals("equals"))
+      {
+         return new Boolean(stubs[0].equals(args[0]));
+      }
+      int i = random.nextInt(stubs.length);
+      long hash = MethodHash.calculateHash(method);
+      RMIMultiSocket target = (RMIMultiSocket)stubs[i];
+      return target.invoke(hash, args);
+   }   
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Counter.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/Counter.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Counter.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,259 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-import java.io.Serializable;
-
-/**
- * An integer counter class.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class Counter
-   implements Serializable, Cloneable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The current count */
-   private int count;
-
-   /**
-    * Construct a Counter with a starting value.
-    *
-    * @param count   Starting value for counter.
-    */
-   public Counter(final int count) {
-      this.count = count;
-   }
-
-   /**
-    * Construct a Counter.
-    */
-   public Counter() {}
-
-   /**
-    * Increment the counter. (Optional operation)
-    *
-    * @return  The incremented value of the counter.
-    */
-   public int increment() {
-      return ++count;
-   }
-
-   /**
-    * Decrement the counter. (Optional operation)
-    *
-    * @return  The decremented value of the counter.
-    */
-   public int decrement() {
-      return --count;
-   }
-
-   /**
-    * Return the current value of the counter.
-    *
-    * @return  The current value of the counter.
-    */
-   public int getCount() {
-      return count;
-   }
-
-   /**
-    * Reset the counter to zero. (Optional operation)
-    */
-   public void reset() {
-      this.count = 0;
-   }
-
-   /**
-    * Check if the given object is equal to this.
-    *
-    * @param obj  Object to test equality with.
-    * @return     True if object is equal to this.
-    */
-   public boolean equals(final Object obj) {
-      if (obj == this) return true;
-
-      if (obj != null && obj.getClass() == getClass()) {
-         return ((Counter)obj).count == count;
-      }
-      
-      return false;
-   }
-
-   /**
-    * Return a string representation of this.
-    *
-    * @return  A string representation of this.
-    */
-   public String toString() {
-      return String.valueOf(count);
-   }
-
-   /**
-    * Return a cloned copy of this object.
-    *
-    * @return  A cloned copy of this object.
-    */
-   public Object clone() {
-      try {
-         return super.clone();
-      }
-      catch (CloneNotSupportedException e) {
-         throw new InternalError();
-      }
-   }
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                                Wrappers                             //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * Base wrapper class for other wrappers.
-    */
-   private static class Wrapper
-      extends Counter
-   {
-      /** The serialVersionUID */
-      private static final long serialVersionUID = 1L;
-      /** The wrapped counter */
-      protected final Counter counter;
-
-      public Wrapper(final Counter counter) {
-         this.counter = counter;
-      }
-
-      public int increment() {
-         return counter.increment();
-      }
-
-      public int decrement() {
-         return counter.decrement();
-      }
-
-      public int getCount() {
-         return counter.getCount();
-      }
-
-      public void reset() {
-         counter.reset();
-      }
-
-      public boolean equals(final Object obj) {
-         return counter.equals(obj);
-      }
-
-      public String toString() {
-         return counter.toString();
-      }
-
-      public Object clone() {
-         return counter.clone();
-      }
-   }
-
-   /**
-    * Return a synchronized counter.
-    *
-    * @param counter    Counter to synchronize.
-    * @return           Synchronized counter.
-    */
-   public static Counter makeSynchronized(final Counter counter) {
-      return new Wrapper(counter) {
-            /** The serialVersionUID */
-         private static final long serialVersionUID = 1L;
-
-            public synchronized int increment() {
-               return this.counter.increment();
-            }
-
-            public synchronized int decrement() {
-               return this.counter.decrement();
-            }
-
-            public synchronized int getCount() {
-               return this.counter.getCount();
-            }
-
-            public synchronized void reset() {
-               this.counter.reset();
-            }
-
-            public synchronized int hashCode() {
-               return this.counter.hashCode();
-            }
-
-            public synchronized boolean equals(final Object obj) {
-               return this.counter.equals(obj);
-            }
-
-            public synchronized String toString() {
-               return this.counter.toString();
-            }
-
-            public synchronized Object clone() {
-               return this.counter.clone();
-            }
-         };
-   }
-
-   /**
-    * Returns a directional counter.
-    *
-    * @param counter       Counter to make directional.
-    * @param increasing    True to create an increasing only
-    *                      or false to create a decreasing only.
-    * @return              A directional counter.
-    */
-   public static Counter makeDirectional(final Counter counter,
-                                         final boolean increasing)
-   {
-      Counter temp;
-      if (increasing) {
-         temp = new Wrapper(counter) {
-               /** The serialVersionUID */
-            private static final long serialVersionUID = 1L;
-
-               public int decrement() {
-                  throw new UnsupportedOperationException();
-               }
-
-               public void reset() {
-                  throw new UnsupportedOperationException();
-               }
-            };
-      }
-      else {
-         temp = new Wrapper(counter) {
-            /** The serialVersionUID */
-            private static final long serialVersionUID = 1L;
-               public int increment() {
-                  throw new UnsupportedOperationException();
-               }
-            };
-      }
-      
-      return temp;
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Counter.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/Counter.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Counter.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Counter.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,259 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+import java.io.Serializable;
+
+/**
+ * An integer counter class.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class Counter
+   implements Serializable, Cloneable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 7736259185393081556L;
+   /** The current count */
+   private int count;
+
+   /**
+    * Construct a Counter with a starting value.
+    *
+    * @param count   Starting value for counter.
+    */
+   public Counter(final int count) {
+      this.count = count;
+   }
+
+   /**
+    * Construct a Counter.
+    */
+   public Counter() {}
+
+   /**
+    * Increment the counter. (Optional operation)
+    *
+    * @return  The incremented value of the counter.
+    */
+   public int increment() {
+      return ++count;
+   }
+
+   /**
+    * Decrement the counter. (Optional operation)
+    *
+    * @return  The decremented value of the counter.
+    */
+   public int decrement() {
+      return --count;
+   }
+
+   /**
+    * Return the current value of the counter.
+    *
+    * @return  The current value of the counter.
+    */
+   public int getCount() {
+      return count;
+   }
+
+   /**
+    * Reset the counter to zero. (Optional operation)
+    */
+   public void reset() {
+      this.count = 0;
+   }
+
+   /**
+    * Check if the given object is equal to this.
+    *
+    * @param obj  Object to test equality with.
+    * @return     True if object is equal to this.
+    */
+   public boolean equals(final Object obj) {
+      if (obj == this) return true;
+
+      if (obj != null && obj.getClass() == getClass()) {
+         return ((Counter)obj).count == count;
+      }
+      
+      return false;
+   }
+
+   /**
+    * Return a string representation of this.
+    *
+    * @return  A string representation of this.
+    */
+   public String toString() {
+      return String.valueOf(count);
+   }
+
+   /**
+    * Return a cloned copy of this object.
+    *
+    * @return  A cloned copy of this object.
+    */
+   public Object clone() {
+      try {
+         return super.clone();
+      }
+      catch (CloneNotSupportedException e) {
+         throw new InternalError();
+      }
+   }
+
+
+   /////////////////////////////////////////////////////////////////////////
+   //                                Wrappers                             //
+   /////////////////////////////////////////////////////////////////////////
+
+   /**
+    * Base wrapper class for other wrappers.
+    */
+   private static class Wrapper
+      extends Counter
+   {
+      /** The serialVersionUID */
+      private static final long serialVersionUID = -1803971437884946242L;
+      /** The wrapped counter */
+      protected final Counter counter;
+
+      public Wrapper(final Counter counter) {
+         this.counter = counter;
+      }
+
+      public int increment() {
+         return counter.increment();
+      }
+
+      public int decrement() {
+         return counter.decrement();
+      }
+
+      public int getCount() {
+         return counter.getCount();
+      }
+
+      public void reset() {
+         counter.reset();
+      }
+
+      public boolean equals(final Object obj) {
+         return counter.equals(obj);
+      }
+
+      public String toString() {
+         return counter.toString();
+      }
+
+      public Object clone() {
+         return counter.clone();
+      }
+   }
+
+   /**
+    * Return a synchronized counter.
+    *
+    * @param counter    Counter to synchronize.
+    * @return           Synchronized counter.
+    */
+   public static Counter makeSynchronized(final Counter counter) {
+      return new Wrapper(counter) {
+            /** The serialVersionUID */
+         private static final long serialVersionUID = -6024309396861726945L;
+
+            public synchronized int increment() {
+               return this.counter.increment();
+            }
+
+            public synchronized int decrement() {
+               return this.counter.decrement();
+            }
+
+            public synchronized int getCount() {
+               return this.counter.getCount();
+            }
+
+            public synchronized void reset() {
+               this.counter.reset();
+            }
+
+            public synchronized int hashCode() {
+               return this.counter.hashCode();
+            }
+
+            public synchronized boolean equals(final Object obj) {
+               return this.counter.equals(obj);
+            }
+
+            public synchronized String toString() {
+               return this.counter.toString();
+            }
+
+            public synchronized Object clone() {
+               return this.counter.clone();
+            }
+         };
+   }
+
+   /**
+    * Returns a directional counter.
+    *
+    * @param counter       Counter to make directional.
+    * @param increasing    True to create an increasing only
+    *                      or false to create a decreasing only.
+    * @return              A directional counter.
+    */
+   public static Counter makeDirectional(final Counter counter,
+                                         final boolean increasing)
+   {
+      Counter temp;
+      if (increasing) {
+         temp = new Wrapper(counter) {
+               /** The serialVersionUID */
+            private static final long serialVersionUID = 2161377898611431781L;
+
+               public int decrement() {
+                  throw new UnsupportedOperationException();
+               }
+
+               public void reset() {
+                  throw new UnsupportedOperationException();
+               }
+            };
+      }
+      else {
+         temp = new Wrapper(counter) {
+            /** The serialVersionUID */
+            private static final long serialVersionUID = -4683457706354663230L;
+               public int increment() {
+                  throw new UnsupportedOperationException();
+               }
+            };
+      }
+      
+      return temp;
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/EmptyStringException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/EmptyStringException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/EmptyStringException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,51 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-/**
- * Thrown to indicate that a string was empty (aka. <code>""</code>)
- * where it must <b>not</b> be.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class EmptyStringException
-   extends IllegalArgumentException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /**
-    * Construct a <tt>EmptyStringException</tt>.
-    *
-    * @param msg  Exception message.
-    */
-   public EmptyStringException(final String msg) {
-      super(msg);
-   }
-
-   /**
-    * Construct a <tt>EmptyStringException</tt>.
-    */
-   public EmptyStringException() {
-      super();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/EmptyStringException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/EmptyStringException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/EmptyStringException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/EmptyStringException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,51 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+/**
+ * Thrown to indicate that a string was empty (aka. <code>""</code>)
+ * where it must <b>not</b> be.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class EmptyStringException
+   extends IllegalArgumentException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -7958716001355854762L;
+   /**
+    * Construct a <tt>EmptyStringException</tt>.
+    *
+    * @param msg  Exception message.
+    */
+   public EmptyStringException(final String msg) {
+      super(msg);
+   }
+
+   /**
+    * Construct a <tt>EmptyStringException</tt>.
+    */
+   public EmptyStringException() {
+      super();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/HashCode.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/HashCode.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/HashCode.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,351 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-import java.io.Serializable;
-
-/**
- * A hash-code generator and a collection of static hash-code generation
- * methods.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
- at SuppressWarnings("unchecked")
-public final class HashCode
-   implements Serializable, Cloneable, Comparable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** Hashcode for a 'null' value. */
-   private static final int NULL_HASHCODE = 0;
-
-   /** Hashcode for a 'true' boolean */
-   private static final int TRUE_HASHCODE = 1231; // completely arbitrary
-
-   /** Hashcode for a 'false' boolean */
-   private static final int FALSE_HASHCODE = 1237; // completely arbitrary
-
-   /** The hash-code value. */
-   private int value;
-
-   /**
-    * Construct a new <tt>HashCode</tt> using the given <tt>int</tt> as the
-    * base value.
-    *
-    * @param value   <tt>int</tt> to use as the base value.
-    */
-   public HashCode(final int value) {
-      this.value = value;
-   }
-
-   /**
-    * Construct a new <tt>HashCode</tt>.
-    */
-   public HashCode() {
-      this(0);
-   }
-
-   /**
-    * Add the hash-code of the given value.
-    *
-    * @param b    Value to get hash-code from.
-    * @return     <i>This</i> <tt>HashCode</tt>.
-    */
-   public HashCode add(final boolean b) {
-      value ^= generate(b);
-      return this;
-   }
-
-   /**
-    * Add the hash-code of the given value.
-    *
-    * @param n    Value to get hash-code from.
-    * @return     <i>This</i> <tt>HashCode</tt>.
-    */
-   public HashCode add(final byte n) {
-      value ^= n;
-      return this;
-   }
-
-   /**
-    * Add the hash-code of the given value.
-    *
-    * @param n    Value to get hash-code from.
-    * @return     <i>This</i> <tt>HashCode</tt>.
-    */
-   public HashCode add(final char n) {
-      value ^= n;
-      return this;
-   }
-
-   /**
-    * Add the hash-code of the given value.
-    *
-    * @param n    Value to get hash-code from.
-    * @return     <i>This</i> <tt>HashCode</tt>.
-    */
-   public HashCode add(final short n) {
-      value ^= n;
-      return this;
-   }
-
-   /**
-    * Add the hash-code of the given value.
-    *
-    * @param n    Value to get hash-code from.
-    * @return     <i>This</i> <tt>HashCode</tt>.
-    */
-   public HashCode add(final int n) {
-      value ^= n;
-      return this;
-   }
-
-   /**
-    * Add the hash-code of the given value.
-    *
-    * @param n    Value to get hash-code from.
-    * @return     <i>This</i> <tt>HashCode</tt>.
-    */
-   public HashCode add(final long n) {
-      value ^= generate(n);
-      return this;
-   }
-
-   /**
-    * Add the hash-code of the given value.
-    *
-    * @param f    Value to get hash-code from.
-    * @return     <i>This</i> <tt>HashCode</tt>.
-    */
-   public HashCode add(final float f) {
-      value ^= generate(f);
-      return this;
-   }
-
-   /**
-    * Add the hash-code of the given value.
-    *
-    * @param f    Value to get hash-code from.
-    * @return     <i>This</i> <tt>HashCode</tt>.
-    */
-   public HashCode add(final double f) {
-      value ^= generate(f);
-      return this;
-   }
-
-   /**
-    * Add the hash-code of the given object.
-    *
-    * @param obj    Value to get hash-code from.
-    * @return        <i>This</i> <tt>HashCode</tt>.
-    */
-   public HashCode add(final Object obj) {
-      value ^= generate(obj);
-      return this;
-   }
-
-   /**
-    * Get the hash-code.
-    *
-    * @return   Hash-code.
-    */
-   public int hashCode() {
-      return value;
-   }
-
-   /**
-    * Compares this object with the specified <tt>int</tt> for order.
-    *
-    * @param other   Value to compare with.
-    * @return        A negative integer, zero, or a positive integer as
-    *                this object is less than, equal to, or greater than
-    *                the specified object.
-    */
-   public int compareTo(final int other) {
-      return (value < other) ? -1 : (value == other) ? 0 : 1;
-   }
-
-   /**
-    * Compares this object with the specified object for order.
-    *
-    * @param obj   Value to compare with.
-    * @return        A negative integer, zero, or a positive integer as
-    *                this object is less than, equal to, or greater than
-    *                the specified object.
-    *
-    * @throws ClassCastException    Object is not a <tt>HashCode</tt>.
-    */
-   public int compareTo(final Object obj) throws ClassCastException {
-      HashCode hashCode = (HashCode)obj;
-      return compareTo(hashCode.value);
-   }
-
-   /**
-    * Test the equality of this <tt>HashCode</tt> and another object.
-    *
-    * @param obj    Object to test equality with.
-    * @return       True if object is equal.
-    */
-   public boolean equals(final Object obj) {
-      if (obj == this) return true;
-
-      if (obj != null && obj.getClass() == getClass()) {
-         return value == ((HashCode)obj).value;
-      }
-
-      return false;
-   }
-
-   /**
-    * Return a string representation of this <tt>HashCode</tt>.
-    *
-    * @return  A string representation of this <tt>HashCode</tt>.
-    */
-   public String toString() {
-      return String.valueOf(value);
-   }
-
-   /**
-    * Return a cloned copy of this <tt>HashCode</tt>.
-    *
-    * @return   Cloned <tt>HashCode</tt>.
-    */
-   public Object clone() {
-      try {
-         return super.clone();
-      }
-      catch (CloneNotSupportedException e) {
-         throw new InternalError();
-      }
-   }
-
-   /////////////////////////////////////////////////////////////////////////
-   //                           Generation Methods                        //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * Generate a hash code for a boolean value.
-    *
-    * @param value   Boolean value to generate hash code from.
-    * @return        Hash code.
-    */
-   public static int generate(final boolean value) {
-      return value ? TRUE_HASHCODE : FALSE_HASHCODE;
-   }
-
-   /**
-    * Generate a hash code for a long value.
-    *
-    * @param value   Long value to generate hash code from.
-    * @return        Hash code.
-    */
-   public static int generate(final long value) {
-      return (int)(value ^ (value >> 32));
-   }
-
-   /**
-    * Generate a hash code for a double value.
-    *
-    * @param value   Double value to generate hash code from.
-    * @return        Hash code.
-    */
-   public static int generate(final double value) {
-      return generate(Double.doubleToLongBits(value));
-   }
-
-   /**
-    * Generate a hash code for a float value.
-    *
-    * @param value   Float value to generate hash code from.
-    * @return        Hash code.
-    */
-   public static int generate(final float value) {
-      return Float.floatToIntBits(value);
-   }
-
-   /**
-    * Generate a hash code for a byte array.
-    *
-    * @param bytes   An array of bytes to generate a hash code from.
-    * @return        Hash code.
-    */
-   public static int generate(final byte[] bytes) {
-      int hashcode = 0;
-
-      for (int i=0; i<bytes.length; i++) {
-         hashcode <<= 1;
-         hashcode ^= bytes[i];
-      } 
-
-      return hashcode;
-   }
-
-   /**
-    * Generate a hash code for an object array.
-    *
-    * <p>Does not handle nested primitive array elements.
-    *
-    * @param array   Array to generate hashcode for.
-    * @param deep    True to traverse elements which are arrays to 
-    *                determine the elements hash code.
-    * @return        Hash code.
-    */
-   public static int generate(final Object array[], final boolean deep) {
-      int hashcode = 0;
-
-      for (int i=0; i<array.length; i++) {
-         if (deep && (array[i] instanceof Object[])) {
-            hashcode ^= generate((Object[])array[i], true);
-         }
-         else {
-            hashcode ^= array[i].hashCode();
-         }
-      } 
-
-      return hashcode;
-   }
-
-   /**
-    * Generate a shallow hash code for an object array.
-    *
-    * @param array   Array to generate hashcode for.
-    * @return        Hash code.
-    */
-   public static int generate(final Object array[]) {
-      return generate(array, false);
-   }
-
-   /**
-    * Generate a hash code for an object.
-    *
-    * @param obj     Object to generate hashcode for.
-    * @return        Hash code.
-    */
-   public static int generate(final Object obj) {
-      if (obj != null) {
-         return obj.hashCode();
-      }
-
-      return NULL_HASHCODE;
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/HashCode.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/HashCode.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/HashCode.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/HashCode.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,351 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+import java.io.Serializable;
+
+/**
+ * A hash-code generator and a collection of static hash-code generation
+ * methods.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+ at SuppressWarnings("unchecked")
+public final class HashCode
+   implements Serializable, Cloneable, Comparable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 2391396931740264021L;
+   /** Hashcode for a 'null' value. */
+   private static final int NULL_HASHCODE = 0;
+
+   /** Hashcode for a 'true' boolean */
+   private static final int TRUE_HASHCODE = 1231; // completely arbitrary
+
+   /** Hashcode for a 'false' boolean */
+   private static final int FALSE_HASHCODE = 1237; // completely arbitrary
+
+   /** The hash-code value. */
+   private int value;
+
+   /**
+    * Construct a new <tt>HashCode</tt> using the given <tt>int</tt> as the
+    * base value.
+    *
+    * @param value   <tt>int</tt> to use as the base value.
+    */
+   public HashCode(final int value) {
+      this.value = value;
+   }
+
+   /**
+    * Construct a new <tt>HashCode</tt>.
+    */
+   public HashCode() {
+      this(0);
+   }
+
+   /**
+    * Add the hash-code of the given value.
+    *
+    * @param b    Value to get hash-code from.
+    * @return     <i>This</i> <tt>HashCode</tt>.
+    */
+   public HashCode add(final boolean b) {
+      value ^= generate(b);
+      return this;
+   }
+
+   /**
+    * Add the hash-code of the given value.
+    *
+    * @param n    Value to get hash-code from.
+    * @return     <i>This</i> <tt>HashCode</tt>.
+    */
+   public HashCode add(final byte n) {
+      value ^= n;
+      return this;
+   }
+
+   /**
+    * Add the hash-code of the given value.
+    *
+    * @param n    Value to get hash-code from.
+    * @return     <i>This</i> <tt>HashCode</tt>.
+    */
+   public HashCode add(final char n) {
+      value ^= n;
+      return this;
+   }
+
+   /**
+    * Add the hash-code of the given value.
+    *
+    * @param n    Value to get hash-code from.
+    * @return     <i>This</i> <tt>HashCode</tt>.
+    */
+   public HashCode add(final short n) {
+      value ^= n;
+      return this;
+   }
+
+   /**
+    * Add the hash-code of the given value.
+    *
+    * @param n    Value to get hash-code from.
+    * @return     <i>This</i> <tt>HashCode</tt>.
+    */
+   public HashCode add(final int n) {
+      value ^= n;
+      return this;
+   }
+
+   /**
+    * Add the hash-code of the given value.
+    *
+    * @param n    Value to get hash-code from.
+    * @return     <i>This</i> <tt>HashCode</tt>.
+    */
+   public HashCode add(final long n) {
+      value ^= generate(n);
+      return this;
+   }
+
+   /**
+    * Add the hash-code of the given value.
+    *
+    * @param f    Value to get hash-code from.
+    * @return     <i>This</i> <tt>HashCode</tt>.
+    */
+   public HashCode add(final float f) {
+      value ^= generate(f);
+      return this;
+   }
+
+   /**
+    * Add the hash-code of the given value.
+    *
+    * @param f    Value to get hash-code from.
+    * @return     <i>This</i> <tt>HashCode</tt>.
+    */
+   public HashCode add(final double f) {
+      value ^= generate(f);
+      return this;
+   }
+
+   /**
+    * Add the hash-code of the given object.
+    *
+    * @param obj    Value to get hash-code from.
+    * @return        <i>This</i> <tt>HashCode</tt>.
+    */
+   public HashCode add(final Object obj) {
+      value ^= generate(obj);
+      return this;
+   }
+
+   /**
+    * Get the hash-code.
+    *
+    * @return   Hash-code.
+    */
+   public int hashCode() {
+      return value;
+   }
+
+   /**
+    * Compares this object with the specified <tt>int</tt> for order.
+    *
+    * @param other   Value to compare with.
+    * @return        A negative integer, zero, or a positive integer as
+    *                this object is less than, equal to, or greater than
+    *                the specified object.
+    */
+   public int compareTo(final int other) {
+      return (value < other) ? -1 : (value == other) ? 0 : 1;
+   }
+
+   /**
+    * Compares this object with the specified object for order.
+    *
+    * @param obj   Value to compare with.
+    * @return        A negative integer, zero, or a positive integer as
+    *                this object is less than, equal to, or greater than
+    *                the specified object.
+    *
+    * @throws ClassCastException    Object is not a <tt>HashCode</tt>.
+    */
+   public int compareTo(final Object obj) throws ClassCastException {
+      HashCode hashCode = (HashCode)obj;
+      return compareTo(hashCode.value);
+   }
+
+   /**
+    * Test the equality of this <tt>HashCode</tt> and another object.
+    *
+    * @param obj    Object to test equality with.
+    * @return       True if object is equal.
+    */
+   public boolean equals(final Object obj) {
+      if (obj == this) return true;
+
+      if (obj != null && obj.getClass() == getClass()) {
+         return value == ((HashCode)obj).value;
+      }
+
+      return false;
+   }
+
+   /**
+    * Return a string representation of this <tt>HashCode</tt>.
+    *
+    * @return  A string representation of this <tt>HashCode</tt>.
+    */
+   public String toString() {
+      return String.valueOf(value);
+   }
+
+   /**
+    * Return a cloned copy of this <tt>HashCode</tt>.
+    *
+    * @return   Cloned <tt>HashCode</tt>.
+    */
+   public Object clone() {
+      try {
+         return super.clone();
+      }
+      catch (CloneNotSupportedException e) {
+         throw new InternalError();
+      }
+   }
+
+   /////////////////////////////////////////////////////////////////////////
+   //                           Generation Methods                        //
+   /////////////////////////////////////////////////////////////////////////
+
+   /**
+    * Generate a hash code for a boolean value.
+    *
+    * @param value   Boolean value to generate hash code from.
+    * @return        Hash code.
+    */
+   public static int generate(final boolean value) {
+      return value ? TRUE_HASHCODE : FALSE_HASHCODE;
+   }
+
+   /**
+    * Generate a hash code for a long value.
+    *
+    * @param value   Long value to generate hash code from.
+    * @return        Hash code.
+    */
+   public static int generate(final long value) {
+      return (int)(value ^ (value >> 32));
+   }
+
+   /**
+    * Generate a hash code for a double value.
+    *
+    * @param value   Double value to generate hash code from.
+    * @return        Hash code.
+    */
+   public static int generate(final double value) {
+      return generate(Double.doubleToLongBits(value));
+   }
+
+   /**
+    * Generate a hash code for a float value.
+    *
+    * @param value   Float value to generate hash code from.
+    * @return        Hash code.
+    */
+   public static int generate(final float value) {
+      return Float.floatToIntBits(value);
+   }
+
+   /**
+    * Generate a hash code for a byte array.
+    *
+    * @param bytes   An array of bytes to generate a hash code from.
+    * @return        Hash code.
+    */
+   public static int generate(final byte[] bytes) {
+      int hashcode = 0;
+
+      for (int i=0; i<bytes.length; i++) {
+         hashcode <<= 1;
+         hashcode ^= bytes[i];
+      } 
+
+      return hashcode;
+   }
+
+   /**
+    * Generate a hash code for an object array.
+    *
+    * <p>Does not handle nested primitive array elements.
+    *
+    * @param array   Array to generate hashcode for.
+    * @param deep    True to traverse elements which are arrays to 
+    *                determine the elements hash code.
+    * @return        Hash code.
+    */
+   public static int generate(final Object array[], final boolean deep) {
+      int hashcode = 0;
+
+      for (int i=0; i<array.length; i++) {
+         if (deep && (array[i] instanceof Object[])) {
+            hashcode ^= generate((Object[])array[i], true);
+         }
+         else {
+            hashcode ^= array[i].hashCode();
+         }
+      } 
+
+      return hashcode;
+   }
+
+   /**
+    * Generate a shallow hash code for an object array.
+    *
+    * @param array   Array to generate hashcode for.
+    * @return        Hash code.
+    */
+   public static int generate(final Object array[]) {
+      return generate(array, false);
+   }
+
+   /**
+    * Generate a hash code for an object.
+    *
+    * @param obj     Object to generate hashcode for.
+    * @return        Hash code.
+    */
+   public static int generate(final Object obj) {
+      if (obj != null) {
+         return obj.hashCode();
+      }
+
+      return NULL_HASHCODE;
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/LongCounter.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/LongCounter.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/LongCounter.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,258 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-import java.io.Serializable;
-
-/**
- * A long integer counter class.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class LongCounter
-   implements Serializable, Cloneable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The current count */
-   private long count;
-
-   /**
-    * Construct a LongCounter with a starting value.
-    *
-    * @param count   Starting value for counter.
-    */
-   public LongCounter(final long count) {
-      this.count = count;
-   }
-
-   /**
-    * Construct a LongCounter.
-    */
-   public LongCounter() {}
-
-   /**
-    * Increment the counter. (Optional operation)
-    *
-    * @return  The incremented value of the counter.
-    */
-   public long increment() {
-      return ++count;
-   }
-
-   /**
-    * Decrement the counter. (Optional operation)
-    *
-    * @return  The decremented value of the counter.
-    */
-   public long decrement() {
-      return --count;
-   }
-
-   /**
-    * Return the current value of the counter.
-    *
-    * @return  The current value of the counter.
-    */
-   public long getCount() {
-      return count;
-   }
-
-   /**
-    * Reset the counter to zero. (Optional operation)
-    */
-   public void reset() {
-      this.count = 0;
-   }
-
-   /**
-    * Check if the given object is equal to this.
-    *
-    * @param obj  Object to test equality with.
-    * @return     True if object is equal to this.
-    */
-   public boolean equals(final Object obj) {
-      if (obj == this) return true;
-
-      if (obj != null && obj.getClass() == getClass()) {
-         return ((LongCounter)obj).count == count;
-      }
-      
-      return false;
-   }
-
-   /**
-    * Return a string representation of this.
-    *
-    * @return  A string representation of this.
-    */
-   public String toString() {
-      return String.valueOf(count);
-   }
-
-   /**
-    * Return a cloned copy of this object.
-    *
-    * @return  A cloned copy of this object.
-    */
-   public Object clone() {
-      try {
-         return super.clone();
-      }
-      catch (CloneNotSupportedException e) {
-         throw new InternalError();
-      }
-   }
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                                Wrappers                             //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * Base wrapper class for other wrappers.
-    */
-   private static class Wrapper
-      extends LongCounter
-   {
-      /** The serialVersionUID */
-      private static final long serialVersionUID = 1L;
-      /** The wrapped counter */
-      protected final LongCounter counter;
-
-      public Wrapper(final LongCounter counter) {
-         this.counter = counter;
-      }
-
-      public long increment() {
-         return counter.increment();
-      }
-
-      public long decrement() {
-         return counter.decrement();
-      }
-
-      public long getCount() {
-         return counter.getCount();
-      }
-
-      public void reset() {
-         counter.reset();
-      }
-
-      public boolean equals(final Object obj) {
-         return counter.equals(obj);
-      }
-
-      public String toString() {
-         return counter.toString();
-      }
-
-      public Object clone() {
-         return counter.clone();
-      }
-   }
-
-   /**
-    * Return a synchronized counter.
-    *
-    * @param counter    LongCounter to synchronize.
-    * @return           Synchronized counter.
-    */
-   public static LongCounter makeSynchronized(final LongCounter counter)
-   {
-      return new Wrapper(counter) {
-         /** The serialVersionUID */
-         private static final long serialVersionUID = 1L;
-            public synchronized long increment() {
-               return this.counter.increment();
-            }
-
-            public synchronized long decrement() {
-               return this.counter.decrement();
-            }
-
-            public synchronized long getCount() {
-               return this.counter.getCount();
-            }
-
-            public synchronized void reset() {
-               this.counter.reset();
-            }
-
-            public synchronized int hashCode() {
-               return this.counter.hashCode();
-            }
-
-            public synchronized boolean equals(final Object obj) {
-               return this.counter.equals(obj);
-            }
-
-            public synchronized String toString() {
-               return this.counter.toString();
-            }
-
-            public synchronized Object clone() {
-               return this.counter.clone();
-            }
-         };
-   }
-
-   /**
-    * Returns a directional counter.
-    *
-    * @param counter       LongCounter to make directional.
-    * @param increasing    True to create an increasing only
-    *                      or false to create a decreasing only.
-    * @return              A directional counter.
-    */
-   public static LongCounter makeDirectional(final LongCounter counter,
-                                             final boolean increasing)
-   {
-      LongCounter temp;
-      if (increasing) {
-         temp = new Wrapper(counter) {
-            /** The serialVersionUID */
-            private static final long serialVersionUID = 1L;
-            public long decrement() {
-                  throw new UnsupportedOperationException();
-               }
-
-               public void reset() {
-                  throw new UnsupportedOperationException();
-               }
-            };
-      }
-      else {
-         temp = new Wrapper(counter) {
-            /** The serialVersionUID */
-            private static final long serialVersionUID = 1L;
-               public long increment() {
-                  throw new UnsupportedOperationException();
-               }
-            };
-      }
-      
-      return temp;
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/LongCounter.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/LongCounter.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/LongCounter.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/LongCounter.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,258 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+import java.io.Serializable;
+
+/**
+ * A long integer counter class.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class LongCounter
+   implements Serializable, Cloneable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 1615297462859270139L;
+   /** The current count */
+   private long count;
+
+   /**
+    * Construct a LongCounter with a starting value.
+    *
+    * @param count   Starting value for counter.
+    */
+   public LongCounter(final long count) {
+      this.count = count;
+   }
+
+   /**
+    * Construct a LongCounter.
+    */
+   public LongCounter() {}
+
+   /**
+    * Increment the counter. (Optional operation)
+    *
+    * @return  The incremented value of the counter.
+    */
+   public long increment() {
+      return ++count;
+   }
+
+   /**
+    * Decrement the counter. (Optional operation)
+    *
+    * @return  The decremented value of the counter.
+    */
+   public long decrement() {
+      return --count;
+   }
+
+   /**
+    * Return the current value of the counter.
+    *
+    * @return  The current value of the counter.
+    */
+   public long getCount() {
+      return count;
+   }
+
+   /**
+    * Reset the counter to zero. (Optional operation)
+    */
+   public void reset() {
+      this.count = 0;
+   }
+
+   /**
+    * Check if the given object is equal to this.
+    *
+    * @param obj  Object to test equality with.
+    * @return     True if object is equal to this.
+    */
+   public boolean equals(final Object obj) {
+      if (obj == this) return true;
+
+      if (obj != null && obj.getClass() == getClass()) {
+         return ((LongCounter)obj).count == count;
+      }
+      
+      return false;
+   }
+
+   /**
+    * Return a string representation of this.
+    *
+    * @return  A string representation of this.
+    */
+   public String toString() {
+      return String.valueOf(count);
+   }
+
+   /**
+    * Return a cloned copy of this object.
+    *
+    * @return  A cloned copy of this object.
+    */
+   public Object clone() {
+      try {
+         return super.clone();
+      }
+      catch (CloneNotSupportedException e) {
+         throw new InternalError();
+      }
+   }
+
+
+   /////////////////////////////////////////////////////////////////////////
+   //                                Wrappers                             //
+   /////////////////////////////////////////////////////////////////////////
+
+   /**
+    * Base wrapper class for other wrappers.
+    */
+   private static class Wrapper
+      extends LongCounter
+   {
+      /** The serialVersionUID */
+      private static final long serialVersionUID = 6720507617603163762L;
+      /** The wrapped counter */
+      protected final LongCounter counter;
+
+      public Wrapper(final LongCounter counter) {
+         this.counter = counter;
+      }
+
+      public long increment() {
+         return counter.increment();
+      }
+
+      public long decrement() {
+         return counter.decrement();
+      }
+
+      public long getCount() {
+         return counter.getCount();
+      }
+
+      public void reset() {
+         counter.reset();
+      }
+
+      public boolean equals(final Object obj) {
+         return counter.equals(obj);
+      }
+
+      public String toString() {
+         return counter.toString();
+      }
+
+      public Object clone() {
+         return counter.clone();
+      }
+   }
+
+   /**
+    * Return a synchronized counter.
+    *
+    * @param counter    LongCounter to synchronize.
+    * @return           Synchronized counter.
+    */
+   public static LongCounter makeSynchronized(final LongCounter counter)
+   {
+      return new Wrapper(counter) {
+         /** The serialVersionUID */
+         private static final long serialVersionUID = 8903330696503363758L;
+            public synchronized long increment() {
+               return this.counter.increment();
+            }
+
+            public synchronized long decrement() {
+               return this.counter.decrement();
+            }
+
+            public synchronized long getCount() {
+               return this.counter.getCount();
+            }
+
+            public synchronized void reset() {
+               this.counter.reset();
+            }
+
+            public synchronized int hashCode() {
+               return this.counter.hashCode();
+            }
+
+            public synchronized boolean equals(final Object obj) {
+               return this.counter.equals(obj);
+            }
+
+            public synchronized String toString() {
+               return this.counter.toString();
+            }
+
+            public synchronized Object clone() {
+               return this.counter.clone();
+            }
+         };
+   }
+
+   /**
+    * Returns a directional counter.
+    *
+    * @param counter       LongCounter to make directional.
+    * @param increasing    True to create an increasing only
+    *                      or false to create a decreasing only.
+    * @return              A directional counter.
+    */
+   public static LongCounter makeDirectional(final LongCounter counter,
+                                             final boolean increasing)
+   {
+      LongCounter temp;
+      if (increasing) {
+         temp = new Wrapper(counter) {
+            /** The serialVersionUID */
+            private static final long serialVersionUID = -8902748795144754375L;
+            public long decrement() {
+                  throw new UnsupportedOperationException();
+               }
+
+               public void reset() {
+                  throw new UnsupportedOperationException();
+               }
+            };
+      }
+      else {
+         temp = new Wrapper(counter) {
+            /** The serialVersionUID */
+            private static final long serialVersionUID = 2584758778978644599L;
+               public long increment() {
+                  throw new UnsupportedOperationException();
+               }
+            };
+      }
+      
+      return temp;
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedError.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/NestedError.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedError.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,147 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-import java.io.PrintWriter;
-import java.io.PrintStream;
-
-/**
- * A common superclass for <tt>Error</tt> classes that can
- * contain a nested <tt>Throwable</tt> detail object.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class NestedError
-   extends Error
-   implements NestedThrowable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The nested throwable */
-   protected final Throwable nested;
-
-   /**
-    * Construct a <tt>NestedError</tt> with the specified 
-    * detail message.
-    *
-    * @param msg  Detail message.
-    */
-   public NestedError(final String msg) {
-      super(msg);
-      this.nested = null;
-   }
-
-   /**
-    * Construct a <tt>NestedError</tt> with the specified
-    * detail message and nested <tt>Throwable</tt>.
-    *
-    * @param msg     Detail message.
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public NestedError(final String msg, final Throwable nested) {
-      super(msg);
-      this.nested = nested;
-      NestedThrowable.Util.checkNested(this, nested);
-   }
-
-   /**
-    * Construct a <tt>NestedError</tt> with the specified
-    * nested <tt>Throwable</tt>.
-    *
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public NestedError(final Throwable nested) {
-      this(nested.getMessage(), nested);
-   }
-
-   /**
-    * Construct a <tt>NestedError</tt> with no detail.
-    */
-   public NestedError() {
-      super();
-      this.nested = null;
-   }
-
-   /**
-    * Return the nested <tt>Throwable</tt>.
-    *
-    * @return  Nested <tt>Throwable</tt>.
-    */
-   public Throwable getNested() {
-      return nested;
-   }
-
-   /**
-    * Return the nested <tt>Throwable</tt>.
-    *
-    * <p>For JDK 1.4 compatibility.
-    *
-    * @return  Nested <tt>Throwable</tt>.
-    */
-   public Throwable getCause() {
-      return nested;
-   }
-   
-   /**
-    * Returns the composite throwable message.
-    *
-    * @return  The composite throwable message.
-    */
-   public String getMessage() {
-      return NestedThrowable.Util.getMessage(super.getMessage(), nested);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to the
-    * specified print stream.
-    *
-    * @param stream  Stream to print to.
-    */
-   public void printStackTrace(final PrintStream stream) {
-      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
-         super.printStackTrace(stream);
-      }
-      NestedThrowable.Util.print(nested, stream);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to the
-    * specified print writer.
-    *
-    * @param writer  Writer to print to.
-    */
-   public void printStackTrace(final PrintWriter writer) {
-      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
-         super.printStackTrace(writer);
-      }
-      NestedThrowable.Util.print(nested, writer);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to 
-    * <tt>System.err</tt>.
-    */
-   public void printStackTrace() {
-      printStackTrace(System.err);
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedError.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/NestedError.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedError.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedError.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,147 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+import java.io.PrintWriter;
+import java.io.PrintStream;
+
+/**
+ * A common superclass for <tt>Error</tt> classes that can
+ * contain a nested <tt>Throwable</tt> detail object.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class NestedError
+   extends Error
+   implements NestedThrowable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -4135571897343827853L;
+   /** The nested throwable */
+   protected final Throwable nested;
+
+   /**
+    * Construct a <tt>NestedError</tt> with the specified 
+    * detail message.
+    *
+    * @param msg  Detail message.
+    */
+   public NestedError(final String msg) {
+      super(msg);
+      this.nested = null;
+   }
+
+   /**
+    * Construct a <tt>NestedError</tt> with the specified
+    * detail message and nested <tt>Throwable</tt>.
+    *
+    * @param msg     Detail message.
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public NestedError(final String msg, final Throwable nested) {
+      super(msg);
+      this.nested = nested;
+      NestedThrowable.Util.checkNested(this, nested);
+   }
+
+   /**
+    * Construct a <tt>NestedError</tt> with the specified
+    * nested <tt>Throwable</tt>.
+    *
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public NestedError(final Throwable nested) {
+      this(nested.getMessage(), nested);
+   }
+
+   /**
+    * Construct a <tt>NestedError</tt> with no detail.
+    */
+   public NestedError() {
+      super();
+      this.nested = null;
+   }
+
+   /**
+    * Return the nested <tt>Throwable</tt>.
+    *
+    * @return  Nested <tt>Throwable</tt>.
+    */
+   public Throwable getNested() {
+      return nested;
+   }
+
+   /**
+    * Return the nested <tt>Throwable</tt>.
+    *
+    * <p>For JDK 1.4 compatibility.
+    *
+    * @return  Nested <tt>Throwable</tt>.
+    */
+   public Throwable getCause() {
+      return nested;
+   }
+   
+   /**
+    * Returns the composite throwable message.
+    *
+    * @return  The composite throwable message.
+    */
+   public String getMessage() {
+      return NestedThrowable.Util.getMessage(super.getMessage(), nested);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to the
+    * specified print stream.
+    *
+    * @param stream  Stream to print to.
+    */
+   public void printStackTrace(final PrintStream stream) {
+      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
+         super.printStackTrace(stream);
+      }
+      NestedThrowable.Util.print(nested, stream);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to the
+    * specified print writer.
+    *
+    * @param writer  Writer to print to.
+    */
+   public void printStackTrace(final PrintWriter writer) {
+      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
+         super.printStackTrace(writer);
+      }
+      NestedThrowable.Util.print(nested, writer);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to 
+    * <tt>System.err</tt>.
+    */
+   public void printStackTrace() {
+      printStackTrace(System.err);
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/NestedException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,147 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-import java.io.PrintWriter;
-import java.io.PrintStream;
-
-/**
- * A common superclass for <tt>Exception</tt> classes that can contain
- * a nested <tt>Throwable</tt> detail object.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class NestedException
-   extends Exception
-   implements NestedThrowable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The nested throwable */
-   protected final Throwable nested;
-
-   /**
-    * Construct a <tt>NestedException</tt> with the specified detail 
-    * message.
-    *
-    * @param msg  Detail message.
-    */
-   public NestedException(final String msg) {
-      super(msg);
-      this.nested = null;
-   }
-
-   /**
-    * Construct a <tt>NestedException</tt> with the specified detail 
-    * message and nested <tt>Throwable</tt>.
-    *
-    * @param msg     Detail message.
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public NestedException(final String msg, final Throwable nested) {
-      super(msg);
-      this.nested = nested;
-      NestedThrowable.Util.checkNested(this, nested);
-   }
-
-   /**
-    * Construct a <tt>NestedException</tt> with the specified
-    * nested <tt>Throwable</tt>.
-    *
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public NestedException(final Throwable nested) {
-      this(nested.getMessage(), nested);
-   }
-
-   /**
-    * Construct a <tt>NestedException</tt> with no detail.
-    */
-   public NestedException() {
-      super();
-      this.nested = null;
-   }
-   
-   /**
-    * Return the nested <tt>Throwable</tt>.
-    *
-    * @return  Nested <tt>Throwable</tt>.
-    */
-   public Throwable getNested() {
-      return nested;
-   }
-
-   /**
-    * Return the nested <tt>Throwable</tt>.
-    *
-    * <p>For JDK 1.4 compatibility.
-    *
-    * @return  Nested <tt>Throwable</tt>.
-    */
-   public Throwable getCause() {
-      return nested;
-   }
-      
-   /**
-    * Returns the composite throwable message.
-    *
-    * @return  The composite throwable message.
-    */
-   public String getMessage() {
-      return NestedThrowable.Util.getMessage(super.getMessage(), nested);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to the
-    * specified print stream.
-    *
-    * @param stream  Stream to print to.
-    */
-   public void printStackTrace(final PrintStream stream) {
-      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
-         super.printStackTrace(stream);
-      }
-      NestedThrowable.Util.print(nested, stream);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to the
-    * specified print writer.
-    *
-    * @param writer  Writer to print to.
-    */
-   public void printStackTrace(final PrintWriter writer) {
-      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
-         super.printStackTrace(writer);
-      }
-      NestedThrowable.Util.print(nested, writer);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to 
-    * <tt>System.err</tt>.
-    */
-   public void printStackTrace() {
-      printStackTrace(System.err);
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/NestedException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,147 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+import java.io.PrintWriter;
+import java.io.PrintStream;
+
+/**
+ * A common superclass for <tt>Exception</tt> classes that can contain
+ * a nested <tt>Throwable</tt> detail object.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class NestedException
+   extends Exception
+   implements NestedThrowable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 7003381223684751953L;
+   /** The nested throwable */
+   protected final Throwable nested;
+
+   /**
+    * Construct a <tt>NestedException</tt> with the specified detail 
+    * message.
+    *
+    * @param msg  Detail message.
+    */
+   public NestedException(final String msg) {
+      super(msg);
+      this.nested = null;
+   }
+
+   /**
+    * Construct a <tt>NestedException</tt> with the specified detail 
+    * message and nested <tt>Throwable</tt>.
+    *
+    * @param msg     Detail message.
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public NestedException(final String msg, final Throwable nested) {
+      super(msg);
+      this.nested = nested;
+      NestedThrowable.Util.checkNested(this, nested);
+   }
+
+   /**
+    * Construct a <tt>NestedException</tt> with the specified
+    * nested <tt>Throwable</tt>.
+    *
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public NestedException(final Throwable nested) {
+      this(nested.getMessage(), nested);
+   }
+
+   /**
+    * Construct a <tt>NestedException</tt> with no detail.
+    */
+   public NestedException() {
+      super();
+      this.nested = null;
+   }
+   
+   /**
+    * Return the nested <tt>Throwable</tt>.
+    *
+    * @return  Nested <tt>Throwable</tt>.
+    */
+   public Throwable getNested() {
+      return nested;
+   }
+
+   /**
+    * Return the nested <tt>Throwable</tt>.
+    *
+    * <p>For JDK 1.4 compatibility.
+    *
+    * @return  Nested <tt>Throwable</tt>.
+    */
+   public Throwable getCause() {
+      return nested;
+   }
+      
+   /**
+    * Returns the composite throwable message.
+    *
+    * @return  The composite throwable message.
+    */
+   public String getMessage() {
+      return NestedThrowable.Util.getMessage(super.getMessage(), nested);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to the
+    * specified print stream.
+    *
+    * @param stream  Stream to print to.
+    */
+   public void printStackTrace(final PrintStream stream) {
+      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
+         super.printStackTrace(stream);
+      }
+      NestedThrowable.Util.print(nested, stream);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to the
+    * specified print writer.
+    *
+    * @param writer  Writer to print to.
+    */
+   public void printStackTrace(final PrintWriter writer) {
+      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
+         super.printStackTrace(writer);
+      }
+      NestedThrowable.Util.print(nested, writer);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to 
+    * <tt>System.err</tt>.
+    */
+   public void printStackTrace() {
+      printStackTrace(System.err);
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedRuntimeException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/NestedRuntimeException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedRuntimeException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,147 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-import java.io.PrintWriter;
-import java.io.PrintStream;
-
-/**
- * A common superclass for <tt>RuntimeException</tt> classes that can
- * contain a nested <tt>Throwable</tt> detail object.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class NestedRuntimeException
-   extends RuntimeException
-   implements NestedThrowable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The nested throwable */
-   protected final Throwable nested;
-
-   /**
-    * Construct a <tt>NestedRuntimeException</tt> with the specified 
-    * detail message.
-    *
-    * @param msg  Detail message.
-    */
-   public NestedRuntimeException(final String msg) {
-      super(msg);
-      this.nested = null;
-   }
-
-   /**
-    * Construct a <tt>NestedRuntimeException</tt> with the specified
-    * detail message and nested <tt>Throwable</tt>.
-    *
-    * @param msg     Detail message.
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public NestedRuntimeException(final String msg, final Throwable nested) {
-      super(msg);
-      this.nested = nested;
-      NestedThrowable.Util.checkNested(this, nested);
-   }
-
-   /**
-    * Construct a <tt>NestedRuntimeException</tt> with the specified
-    * nested <tt>Throwable</tt>.
-    *
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public NestedRuntimeException(final Throwable nested) {
-      this(nested.getMessage(), nested);
-   }
-
-   /**
-    * Construct a <tt>NestedRuntimeException</tt> with no detail.
-    */
-   public NestedRuntimeException() {
-      super();
-      this.nested = null;
-   }
-
-   /**
-    * Return the nested <tt>Throwable</tt>.
-    *
-    * @return  Nested <tt>Throwable</tt>.
-    */
-   public Throwable getNested() {
-      return nested;
-   }
-   
-   /**
-    * Return the nested <tt>Throwable</tt>.
-    *
-    * <p>For JDK 1.4 compatibility.
-    *
-    * @return  Nested <tt>Throwable</tt>.
-    */
-   public Throwable getCause() {
-      return nested;
-   }
-
-   /**
-    * Returns the composite throwable message.
-    *
-    * @return  The composite throwable message.
-    */
-   public String getMessage() {
-      return NestedThrowable.Util.getMessage(super.getMessage(), nested);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to the
-    * specified print stream.
-    *
-    * @param stream  Stream to print to.
-    */
-   public void printStackTrace(final PrintStream stream) {
-      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
-         super.printStackTrace(stream);
-      }
-      NestedThrowable.Util.print(nested, stream);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to the
-    * specified print writer.
-    *
-    * @param writer  Writer to print to.
-    */
-   public void printStackTrace(final PrintWriter writer) {
-      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
-         super.printStackTrace(writer);
-      }
-      NestedThrowable.Util.print(nested, writer);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to 
-    * <tt>System.err</tt>.
-    */
-   public void printStackTrace() {
-      printStackTrace(System.err);
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedRuntimeException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/NestedRuntimeException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedRuntimeException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedRuntimeException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,147 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+import java.io.PrintWriter;
+import java.io.PrintStream;
+
+/**
+ * A common superclass for <tt>RuntimeException</tt> classes that can
+ * contain a nested <tt>Throwable</tt> detail object.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class NestedRuntimeException
+   extends RuntimeException
+   implements NestedThrowable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 9017248167673450852L;
+   /** The nested throwable */
+   protected final Throwable nested;
+
+   /**
+    * Construct a <tt>NestedRuntimeException</tt> with the specified 
+    * detail message.
+    *
+    * @param msg  Detail message.
+    */
+   public NestedRuntimeException(final String msg) {
+      super(msg);
+      this.nested = null;
+   }
+
+   /**
+    * Construct a <tt>NestedRuntimeException</tt> with the specified
+    * detail message and nested <tt>Throwable</tt>.
+    *
+    * @param msg     Detail message.
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public NestedRuntimeException(final String msg, final Throwable nested) {
+      super(msg);
+      this.nested = nested;
+      NestedThrowable.Util.checkNested(this, nested);
+   }
+
+   /**
+    * Construct a <tt>NestedRuntimeException</tt> with the specified
+    * nested <tt>Throwable</tt>.
+    *
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public NestedRuntimeException(final Throwable nested) {
+      this(nested.getMessage(), nested);
+   }
+
+   /**
+    * Construct a <tt>NestedRuntimeException</tt> with no detail.
+    */
+   public NestedRuntimeException() {
+      super();
+      this.nested = null;
+   }
+
+   /**
+    * Return the nested <tt>Throwable</tt>.
+    *
+    * @return  Nested <tt>Throwable</tt>.
+    */
+   public Throwable getNested() {
+      return nested;
+   }
+   
+   /**
+    * Return the nested <tt>Throwable</tt>.
+    *
+    * <p>For JDK 1.4 compatibility.
+    *
+    * @return  Nested <tt>Throwable</tt>.
+    */
+   public Throwable getCause() {
+      return nested;
+   }
+
+   /**
+    * Returns the composite throwable message.
+    *
+    * @return  The composite throwable message.
+    */
+   public String getMessage() {
+      return NestedThrowable.Util.getMessage(super.getMessage(), nested);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to the
+    * specified print stream.
+    *
+    * @param stream  Stream to print to.
+    */
+   public void printStackTrace(final PrintStream stream) {
+      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
+         super.printStackTrace(stream);
+      }
+      NestedThrowable.Util.print(nested, stream);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to the
+    * specified print writer.
+    *
+    * @param writer  Writer to print to.
+    */
+   public void printStackTrace(final PrintWriter writer) {
+      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
+         super.printStackTrace(writer);
+      }
+      NestedThrowable.Util.print(nested, writer);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to 
+    * <tt>System.err</tt>.
+    */
+   public void printStackTrace() {
+      printStackTrace(System.err);
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedSQLException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/NestedSQLException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedSQLException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,164 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-import java.io.PrintWriter;
-import java.io.PrintStream;
-
-import java.sql.SQLException;
-
-/**
- * A common superclass for <tt>SQLException</tt> classes that can contain
- * a nested <tt>Throwable</tt> detail object.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class NestedSQLException
-   extends SQLException
-   implements NestedThrowable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The nested throwable */
-   protected final Throwable nested;
-
-   /**
-    * Construct a <tt>NestedSQLException</tt> with the specified detail 
-    * message.
-    *
-    * @param msg  Detail message.
-    */
-   public NestedSQLException(final String msg) {
-      super(msg);
-      this.nested = null;
-   }
-
-   /**
-    * Construct a <tt>NestedSQLException</tt> with the specified detail 
-    * message and nested <tt>Throwable</tt>.
-    *
-    * @param msg     Detail message.
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public NestedSQLException(final String msg, final Throwable nested) {
-      super(msg);
-      this.nested = nested;
-      NestedThrowable.Util.checkNested(this, nested);
-   }
-
-   /**
-    * Construct a <tt>NestedSQLException</tt> with the specified
-    * nested <tt>Throwable</tt>.
-    *
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public NestedSQLException(final Throwable nested) {
-      this(nested.getMessage(), nested);
-   }
-
-   /**
-    * Construct a <tt>NestedSQLException</tt>.
-    *
-    * @param msg     Detail message.
-    * @param state   SQL state message.
-    */
-   public NestedSQLException(final String msg, final String state) {
-      super(msg, state);
-      this.nested = null;
-   }
-
-   /**
-    * Construct a <tt>NestedSQLException</tt>.
-    *
-    * @param msg     Detail message.
-    * @param state   SQL state message.
-    * @param code    SQL vendor code.
-    */
-   public NestedSQLException(final String msg, final String state, final int code) {
-      super(msg, state, code);
-      this.nested = null;
-   }
-   
-   /**
-    * Return the nested <tt>Throwable</tt>.
-    *
-    * @return  Nested <tt>Throwable</tt>.
-    */
-   public Throwable getNested() {
-      return nested;
-   }
-
-   /**
-    * Return the nested <tt>Throwable</tt>.
-    *
-    * <p>For JDK 1.4 compatibility.
-    *
-    * @return  Nested <tt>Throwable</tt>.
-    */
-   public Throwable getCause() {
-      return nested;
-   }
-      
-   /**
-    * Returns the composite throwable message.
-    *
-    * @return  The composite throwable message.
-    */
-   public String getMessage() {
-      return NestedThrowable.Util.getMessage(super.getMessage(), nested);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to the
-    * specified print stream.
-    *
-    * @param stream  Stream to print to.
-    */
-   public void printStackTrace(final PrintStream stream) {
-      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
-         super.printStackTrace(stream);
-      }
-      NestedThrowable.Util.print(nested, stream);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to the
-    * specified print writer.
-    *
-    * @param writer  Writer to print to.
-    */
-   public void printStackTrace(final PrintWriter writer) {
-      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
-         super.printStackTrace(writer);
-      }
-      NestedThrowable.Util.print(nested, writer);
-   }
-
-   /**
-    * Prints the composite message and the embedded stack trace to 
-    * <tt>System.err</tt>.
-    */
-   public void printStackTrace() {
-      printStackTrace(System.err);
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedSQLException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/NestedSQLException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedSQLException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NestedSQLException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,164 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+import java.io.PrintWriter;
+import java.io.PrintStream;
+
+import java.sql.SQLException;
+
+/**
+ * A common superclass for <tt>SQLException</tt> classes that can contain
+ * a nested <tt>Throwable</tt> detail object.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class NestedSQLException
+   extends SQLException
+   implements NestedThrowable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -8348882503434035185L;
+   /** The nested throwable */
+   protected final Throwable nested;
+
+   /**
+    * Construct a <tt>NestedSQLException</tt> with the specified detail 
+    * message.
+    *
+    * @param msg  Detail message.
+    */
+   public NestedSQLException(final String msg) {
+      super(msg);
+      this.nested = null;
+   }
+
+   /**
+    * Construct a <tt>NestedSQLException</tt> with the specified detail 
+    * message and nested <tt>Throwable</tt>.
+    *
+    * @param msg     Detail message.
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public NestedSQLException(final String msg, final Throwable nested) {
+      super(msg);
+      this.nested = nested;
+      NestedThrowable.Util.checkNested(this, nested);
+   }
+
+   /**
+    * Construct a <tt>NestedSQLException</tt> with the specified
+    * nested <tt>Throwable</tt>.
+    *
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public NestedSQLException(final Throwable nested) {
+      this(nested.getMessage(), nested);
+   }
+
+   /**
+    * Construct a <tt>NestedSQLException</tt>.
+    *
+    * @param msg     Detail message.
+    * @param state   SQL state message.
+    */
+   public NestedSQLException(final String msg, final String state) {
+      super(msg, state);
+      this.nested = null;
+   }
+
+   /**
+    * Construct a <tt>NestedSQLException</tt>.
+    *
+    * @param msg     Detail message.
+    * @param state   SQL state message.
+    * @param code    SQL vendor code.
+    */
+   public NestedSQLException(final String msg, final String state, final int code) {
+      super(msg, state, code);
+      this.nested = null;
+   }
+   
+   /**
+    * Return the nested <tt>Throwable</tt>.
+    *
+    * @return  Nested <tt>Throwable</tt>.
+    */
+   public Throwable getNested() {
+      return nested;
+   }
+
+   /**
+    * Return the nested <tt>Throwable</tt>.
+    *
+    * <p>For JDK 1.4 compatibility.
+    *
+    * @return  Nested <tt>Throwable</tt>.
+    */
+   public Throwable getCause() {
+      return nested;
+   }
+      
+   /**
+    * Returns the composite throwable message.
+    *
+    * @return  The composite throwable message.
+    */
+   public String getMessage() {
+      return NestedThrowable.Util.getMessage(super.getMessage(), nested);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to the
+    * specified print stream.
+    *
+    * @param stream  Stream to print to.
+    */
+   public void printStackTrace(final PrintStream stream) {
+      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
+         super.printStackTrace(stream);
+      }
+      NestedThrowable.Util.print(nested, stream);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to the
+    * specified print writer.
+    *
+    * @param writer  Writer to print to.
+    */
+   public void printStackTrace(final PrintWriter writer) {
+      if (nested == null || NestedThrowable.PARENT_TRACE_ENABLED) {
+         super.printStackTrace(writer);
+      }
+      NestedThrowable.Util.print(nested, writer);
+   }
+
+   /**
+    * Prints the composite message and the embedded stack trace to 
+    * <tt>System.err</tt>.
+    */
+   public void printStackTrace() {
+      printStackTrace(System.err);
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NoSuchMethodException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/NoSuchMethodException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NoSuchMethodException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,92 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-import java.lang.reflect.Method;
-
-/**
- * A better NoSuchMethodException which can take a Method object
- * and formats the detail message based on in.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class NoSuchMethodException
-   extends java.lang.NoSuchMethodException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /**
-    * Construct a <tt>NoSuchMethodException</tt> with the specified detail 
-    * message.
-    *
-    * @param msg  Detail message.
-    */
-   public NoSuchMethodException(String msg) {
-      super(msg);
-   }
-
-   /**
-    * Construct a <tt>NoSuchMethodException</tt> using the given method
-    * object to construct the detail message.
-    *
-    * @param method  Method to determine detail message from.
-    */
-   public NoSuchMethodException(Method method) {
-      super(format(method));
-   }
-
-   /**
-    * Construct a <tt>NoSuchMethodException</tt> using the given method
-    * object to construct the detail message.
-    *
-    * @param msg     Detail message prefix.
-    * @param method  Method to determine detail message suffix from.
-    */
-   public NoSuchMethodException(String msg, Method method) {
-      super(msg + format(method));
-   }
-   
-   /**
-    * Construct a <tt>NoSuchMethodException</tt> with no detail.
-    */
-   public NoSuchMethodException() {
-      super();
-   }
-
-   public static String format(Method method)
-   {
-      StringBuffer buffer = new StringBuffer();
-      buffer.append(method.getName()).append("(");
-      Class<?>[] paramTypes = method.getParameterTypes();
-      for (int count = 0; count < paramTypes.length; count++) {
-         if (count > 0) {
-            buffer.append(",");
-         }
-         buffer.
-            append(paramTypes[count].getName().substring(paramTypes[count].getName().lastIndexOf(".")+1));
-      }
-      buffer.append(")");
-
-      return buffer.toString();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NoSuchMethodException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/NoSuchMethodException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NoSuchMethodException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NoSuchMethodException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,92 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+import java.lang.reflect.Method;
+
+/**
+ * A better NoSuchMethodException which can take a Method object
+ * and formats the detail message based on in.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class NoSuchMethodException
+   extends java.lang.NoSuchMethodException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -3044955578250977290L;
+   /**
+    * Construct a <tt>NoSuchMethodException</tt> with the specified detail 
+    * message.
+    *
+    * @param msg  Detail message.
+    */
+   public NoSuchMethodException(String msg) {
+      super(msg);
+   }
+
+   /**
+    * Construct a <tt>NoSuchMethodException</tt> using the given method
+    * object to construct the detail message.
+    *
+    * @param method  Method to determine detail message from.
+    */
+   public NoSuchMethodException(Method method) {
+      super(format(method));
+   }
+
+   /**
+    * Construct a <tt>NoSuchMethodException</tt> using the given method
+    * object to construct the detail message.
+    *
+    * @param msg     Detail message prefix.
+    * @param method  Method to determine detail message suffix from.
+    */
+   public NoSuchMethodException(String msg, Method method) {
+      super(msg + format(method));
+   }
+   
+   /**
+    * Construct a <tt>NoSuchMethodException</tt> with no detail.
+    */
+   public NoSuchMethodException() {
+      super();
+   }
+
+   public static String format(Method method)
+   {
+      StringBuffer buffer = new StringBuffer();
+      buffer.append(method.getName()).append("(");
+      Class<?>[] paramTypes = method.getParameterTypes();
+      for (int count = 0; count < paramTypes.length; count++) {
+         if (count > 0) {
+            buffer.append(",");
+         }
+         buffer.
+            append(paramTypes[count].getName().substring(paramTypes[count].getName().lastIndexOf(".")+1));
+      }
+      buffer.append(")");
+
+      return buffer.toString();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NotImplementedException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/NotImplementedException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NotImplementedException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,52 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-/**
- * Thrown to indicate that a method has not been implemented yet.
- * 
- * <p>This exception is used to help stub out implementations.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class NotImplementedException
-   extends RuntimeException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /**
-    * Construct a <tt>NotImplementedException</tt> with a detail message.
-    *
-    * @param msg  Detail message.
-    */
-   public NotImplementedException(final String msg) {
-      super(msg);
-   }
-
-   /**
-    * Construct a <tt>NotImplementedException</tt> with no detail.
-    */
-   public NotImplementedException() {
-      super();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NotImplementedException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/NotImplementedException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NotImplementedException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NotImplementedException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,52 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+/**
+ * Thrown to indicate that a method has not been implemented yet.
+ * 
+ * <p>This exception is used to help stub out implementations.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class NotImplementedException
+   extends RuntimeException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -3915801189311749818L;
+   /**
+    * Construct a <tt>NotImplementedException</tt> with a detail message.
+    *
+    * @param msg  Detail message.
+    */
+   public NotImplementedException(final String msg) {
+      super(msg);
+   }
+
+   /**
+    * Construct a <tt>NotImplementedException</tt> with no detail.
+    */
+   public NotImplementedException() {
+      super();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Null.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/Null.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Null.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,77 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-import java.io.Serializable;
-
-/**
- * A class that represents <tt>null</tt>.
- *
- * <p>{@link Null#VALUE} is used to given an object variable a dual-mode
- *    nullified value, where <tt>null</tt> would indicate that the value is 
- *    empty, and {@link Null#VALUE} would idicate that the value has been 
- *    set to <tt>null</tt> (or something to that effect).
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public final class Null
-   implements Serializable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The primary instance of Null. */
-   public static final Null VALUE = new Null();
-
-   /** Do not allow public construction. */
-   private Null() {}
-
-   /**
-    * Return a string representation.
-    *
-    * @return  Null
-    */
-   public String toString() {
-      return null;
-   }
-
-   /**
-    * Returns zero.
-    *
-    * @return  Zero.
-    */
-   public int hashCode() {
-      return 0;
-   }
-
-   /**
-    * Check if the given object is a Null instance or <tt>null</tt>.
-    *
-    * @param obj  Object to test.
-    * @return     True if the given object is a Null instance or <tt>null</tt>.
-    */
-   public boolean equals(final Object obj) {
-      if (obj == this) return true;
-      return (obj == null || obj.getClass() == getClass());
-   }
-}
-

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Null.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/Null.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Null.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/Null.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,77 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+import java.io.Serializable;
+
+/**
+ * A class that represents <tt>null</tt>.
+ *
+ * <p>{@link Null#VALUE} is used to given an object variable a dual-mode
+ *    nullified value, where <tt>null</tt> would indicate that the value is 
+ *    empty, and {@link Null#VALUE} would idicate that the value has been 
+ *    set to <tt>null</tt> (or something to that effect).
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public final class Null
+   implements Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -403173436435490144L;
+   /** The primary instance of Null. */
+   public static final Null VALUE = new Null();
+
+   /** Do not allow public construction. */
+   private Null() {}
+
+   /**
+    * Return a string representation.
+    *
+    * @return  Null
+    */
+   public String toString() {
+      return null;
+   }
+
+   /**
+    * Returns zero.
+    *
+    * @return  Zero.
+    */
+   public int hashCode() {
+      return 0;
+   }
+
+   /**
+    * Check if the given object is a Null instance or <tt>null</tt>.
+    *
+    * @param obj  Object to test.
+    * @return     True if the given object is a Null instance or <tt>null</tt>.
+    */
+   public boolean equals(final Object obj) {
+      if (obj == this) return true;
+      return (obj == null || obj.getClass() == getClass());
+   }
+}
+

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NullArgumentException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/NullArgumentException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NullArgumentException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,119 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-/**
- * Thrown to indicate that a method argument was <tt>null</tt> and 
- * should <b>not</b> have been.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class NullArgumentException 
-   extends IllegalArgumentException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The name of the argument that was <tt>null</tt>. */
-   protected final String name;
-
-   /** The index of the argument or null if no index. */
-   protected final Object index;
-   
-   /**
-    * Construct a <tt>NullArgumentException</tt>.
-    *
-    * @param name    Argument name.
-    */
-   public NullArgumentException(final String name) {
-      super(makeMessage(name));
-
-      this.name = name;
-      this.index = null;
-   }
-
-   /**
-    * Construct a <tt>NullArgumentException</tt>.
-    *
-    * @param name    Argument name.
-    * @param index   Argument index.
-    */
-   public NullArgumentException(final String name, final long index) {
-      super(makeMessage(name, new Long(index)));
-
-      this.name = name;
-      this.index = new Long(index);
-   }
-
-   /**
-    * Construct a <tt>NullArgumentException</tt>.
-    *
-    * @param name    Argument name.
-    * @param index   Argument index.
-    */
-   public NullArgumentException(final String name, final Object index) {
-      super(makeMessage(name, index));
-
-      this.name = name;
-      this.index = index;
-   }
-   
-   /**
-    * Construct a <tt>NullArgumentException</tt>.
-    */
-   public NullArgumentException() {
-      this.name = null;
-      this.index = null;
-   }
-
-   /**
-    * Get the argument name that was <tt>null</tt>.
-    *
-    * @return  The argument name that was <tt>null</tt>.
-    */
-   public final String getArgumentName() {
-      return name;
-   }
-
-   /**
-    * Get the argument index.
-    *
-    * @return  The argument index.
-    */
-   public final Object getArgumentIndex() {
-      return index;
-   }
-   
-   /**
-    * Make a execption message for the argument name.
-    */
-   private static String makeMessage(final String name) {
-      return "'" + name + "' is null";
-   }
-
-   /**
-    * Make a execption message for the argument name and index
-    */
-   private static String makeMessage(final String name, final Object index) {
-      return "'" + name + "[" + index + "]' is null";
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NullArgumentException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/NullArgumentException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NullArgumentException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/NullArgumentException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,119 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+/**
+ * Thrown to indicate that a method argument was <tt>null</tt> and 
+ * should <b>not</b> have been.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class NullArgumentException 
+   extends IllegalArgumentException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -2308503249278841584L;
+   /** The name of the argument that was <tt>null</tt>. */
+   protected final String name;
+
+   /** The index of the argument or null if no index. */
+   protected final Object index;
+   
+   /**
+    * Construct a <tt>NullArgumentException</tt>.
+    *
+    * @param name    Argument name.
+    */
+   public NullArgumentException(final String name) {
+      super(makeMessage(name));
+
+      this.name = name;
+      this.index = null;
+   }
+
+   /**
+    * Construct a <tt>NullArgumentException</tt>.
+    *
+    * @param name    Argument name.
+    * @param index   Argument index.
+    */
+   public NullArgumentException(final String name, final long index) {
+      super(makeMessage(name, new Long(index)));
+
+      this.name = name;
+      this.index = new Long(index);
+   }
+
+   /**
+    * Construct a <tt>NullArgumentException</tt>.
+    *
+    * @param name    Argument name.
+    * @param index   Argument index.
+    */
+   public NullArgumentException(final String name, final Object index) {
+      super(makeMessage(name, index));
+
+      this.name = name;
+      this.index = index;
+   }
+   
+   /**
+    * Construct a <tt>NullArgumentException</tt>.
+    */
+   public NullArgumentException() {
+      this.name = null;
+      this.index = null;
+   }
+
+   /**
+    * Get the argument name that was <tt>null</tt>.
+    *
+    * @return  The argument name that was <tt>null</tt>.
+    */
+   public final String getArgumentName() {
+      return name;
+   }
+
+   /**
+    * Get the argument index.
+    *
+    * @return  The argument index.
+    */
+   public final Object getArgumentIndex() {
+      return index;
+   }
+   
+   /**
+    * Make a execption message for the argument name.
+    */
+   private static String makeMessage(final String name) {
+      return "'" + name + "' is null";
+   }
+
+   /**
+    * Make a execption message for the argument name and index
+    */
+   private static String makeMessage(final String name, final Object index) {
+      return "'" + name + "[" + index + "]' is null";
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/StopWatch.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/StopWatch.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/StopWatch.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,365 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-import java.io.Serializable;
-
-/**
- * Simulates a stop watch with a <em>lap</em> counter.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class StopWatch
-   implements Serializable, Cloneable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** Total time */
-   protected long total = 0;
-
-   /** Start time */
-   protected long start = -1;
-
-   /** Stop time */
-   protected long stop = -1;
-
-   /** The <i>lap</i> count */
-   protected int count = 0;
-
-   /** Is the watch started */
-   protected boolean running = false;
-
-   /**
-    * Default constructor.
-    */
-   public StopWatch() {}
-
-   /**
-    * Construct a StopWatch.
-    *
-    * @param running    Start the watch
-    */
-   public StopWatch(final boolean running)
-   {
-      if (running) start();
-   }
-
-   /**
-    * Start the watch.
-    *
-    * @param reset   True to reset the watch prior to starting.
-    */
-   public void start(final boolean reset)
-   {
-      if (!running) {
-         if (reset) reset();
-         start = System.currentTimeMillis();
-         running = true;
-      }
-   }
-
-   /**
-    * Start the watch.
-    */
-   public void start()
-   {
-      start(false);
-   }
-
-   /**
-    * Stop the watch.
-    *
-    * @return  Elapsed time or 0 if the watch was never started.
-    */
-   public long stop()
-   {
-      long lap = 0;
-
-      if (running) {
-         count++;
-         stop = System.currentTimeMillis();
-         lap = stop - start;
-         total += lap;
-         running = false;
-      }
-
-      return lap;
-   }
-
-   /**
-    * Reset the watch.
-    */
-   public void reset()
-   {
-      start = -1;
-      stop = -1;
-      total = 0;
-      count = 0;
-      running = false;
-   }
-
-   /**
-    * Get the <i>lap</i> count.
-    *
-    * @return  The <i>lap</i> count.
-    */
-   public int getLapCount()
-   {
-      return count;
-   }
-
-   /**
-    * Get the elapsed <i>lap</i> time since the watch was started.
-    *
-    * @return  Elapsed <i>lap</i> time or 0 if the watch was never started
-    */
-   public long getLapTime()
-   {
-      if (start == -1) {
-         return 0;
-      }
-      else if (running) {
-         return System.currentTimeMillis() - start;
-      }
-      else {
-         return stop - start;
-      }
-   }
-
-   /**
-    * Get the average <i>lap</i> time since the watch was started.
-    *
-    * @return  Average <i>lap</i> time since the watch was started.
-    */
-   public long getAverageLapTime()
-   {
-      return (count == 0) ? 0 : getLapTime() / getLapCount();
-   }
-
-   /**
-    * Get the elapsed time since the watch was created or last reset.
-    *
-    * @return  Elapsed time or 0 if the watch was never started.
-    */
-   public long getTime()
-   {
-      if (start == -1) {
-         return 0;
-      }
-      else if (running) {
-         return total + System.currentTimeMillis() - start;
-      }
-      else {
-         return total;
-      }
-   }
-
-   /**
-    * Check if the watch is running.
-    *
-    * @return  True if the watch is running.
-    */
-   public boolean isRunning()
-   {
-      return running;
-   }
-
-   /**
-    * Return a string representation.
-    */
-   public String toString()
-   {
-      StringBuffer buff = new StringBuffer();
-      
-      if (running) {
-         // the watch has not been stopped
-         formatElapsedTime(buff, getTime());
-
-         // add the current lap time too if there is more than one lap
-         if (count >= 1) {
-            buff.append(", count=").append(count);
-            buff.append(", current=");
-            formatElapsedTime(buff, getLapTime());
-         }
-      }
-      else {
-         // the watch has been stopped
-         formatElapsedTime(buff, getTime());
-
-         // add extra info if there is more than one lap
-         if (count > 1) {
-            buff.append(", count=").append(count);
-            buff.append(", average=");
-            formatElapsedTime(buff, getAverageLapTime());
-         }
-      }
-
-      return buff.toString();
-   }
-
-   private void formatElapsedTime(final StringBuffer buff, final long lapsed)
-   {
-      long m = lapsed / 60000;
-      if (m != 0) {
-         buff.append(m).append("m:");
-      }
-
-      long s = (lapsed - 60000 * m) / 1000;
-      if (s != 0) {
-         buff.append(s).append("s:");
-      }
-
-      // ms is always there, even if it was 0 too
-      long ms = (lapsed - 60000 * m - 1000 * s);
-      buff.append(ms).append("ms");
-   }
-   
-   /**
-    * Return a cloned copy of this object.
-    *
-    * @return  A cloned copy of this object.
-    */
-   public Object clone()
-   {
-      try {
-         return super.clone();
-      }
-      catch (CloneNotSupportedException e) {
-         throw new InternalError();
-      }
-   }
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                                Wrappers                             //
-   /////////////////////////////////////////////////////////////////////////
-
-   /**
-    * Base wrapper class for other wrappers.
-    */
-   private static class Wrapper
-      extends StopWatch
-   {
-      /** The serialVersionUID */
-      private static final long serialVersionUID = 1L;
-      protected StopWatch watch;
-
-      public Wrapper(final StopWatch watch) {
-         this.watch = watch;
-      }
-
-      public void start(final boolean reset) {
-         watch.start(reset);
-      }
-
-      public void start() {
-         watch.start();
-      }
-
-      public long stop() {
-         return watch.stop();
-      }
-
-      public void reset() {
-         watch.reset();
-      }
-
-      public long getLapTime() {
-         return watch.getLapTime();
-      }
-
-      public long getAverageLapTime() {
-         return watch.getAverageLapTime();
-      }
-
-      public int getLapCount() {
-         return watch.getLapCount();
-      }
-
-      public long getTime() {
-         return watch.getTime();
-      }
-
-      public boolean isRunning() {
-         return watch.isRunning();
-      }
-
-      public String toString() {
-         return watch.toString();
-      }
-   }
-
-   /**
-    * Return a synchronized stop watch.
-    *
-    * @param watch    StopWatch to synchronize.
-    * @return         Synchronized stop watch.
-    */
-   public static StopWatch makeSynchronized(final StopWatch watch)
-   {
-      return new Wrapper(watch)
-         {
-         /** The serialVersionUID */
-         private static final long serialVersionUID = 1L;
-            public synchronized void start(final boolean reset) {
-               this.watch.start(reset);
-            }
-
-            public synchronized void start() {
-               this.watch.start();
-            }
-
-            public synchronized long stop() {
-               return this.watch.stop();
-            }
-
-            public synchronized void reset() {
-               this.watch.reset();
-            }
-
-            public synchronized long getLapTime() {
-               return this.watch.getLapTime();
-            }
-
-            public synchronized long getAverageLapTime() {
-               return this.watch.getAverageLapTime();
-            }
-
-            public synchronized int getLapCount() {
-               return this.watch.getLapCount();
-            }
-
-            public synchronized long getTime() {
-               return this.watch.getTime();
-            }
-
-            public synchronized boolean isRunning() {
-               return this.watch.isRunning();
-            }
-
-            public synchronized String toString() {
-               return this.watch.toString();
-            }
-         };
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/StopWatch.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/StopWatch.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/StopWatch.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/StopWatch.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,365 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+import java.io.Serializable;
+
+/**
+ * Simulates a stop watch with a <em>lap</em> counter.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class StopWatch
+   implements Serializable, Cloneable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 4628094303187435707L;
+   /** Total time */
+   protected long total = 0;
+
+   /** Start time */
+   protected long start = -1;
+
+   /** Stop time */
+   protected long stop = -1;
+
+   /** The <i>lap</i> count */
+   protected int count = 0;
+
+   /** Is the watch started */
+   protected boolean running = false;
+
+   /**
+    * Default constructor.
+    */
+   public StopWatch() {}
+
+   /**
+    * Construct a StopWatch.
+    *
+    * @param running    Start the watch
+    */
+   public StopWatch(final boolean running)
+   {
+      if (running) start();
+   }
+
+   /**
+    * Start the watch.
+    *
+    * @param reset   True to reset the watch prior to starting.
+    */
+   public void start(final boolean reset)
+   {
+      if (!running) {
+         if (reset) reset();
+         start = System.currentTimeMillis();
+         running = true;
+      }
+   }
+
+   /**
+    * Start the watch.
+    */
+   public void start()
+   {
+      start(false);
+   }
+
+   /**
+    * Stop the watch.
+    *
+    * @return  Elapsed time or 0 if the watch was never started.
+    */
+   public long stop()
+   {
+      long lap = 0;
+
+      if (running) {
+         count++;
+         stop = System.currentTimeMillis();
+         lap = stop - start;
+         total += lap;
+         running = false;
+      }
+
+      return lap;
+   }
+
+   /**
+    * Reset the watch.
+    */
+   public void reset()
+   {
+      start = -1;
+      stop = -1;
+      total = 0;
+      count = 0;
+      running = false;
+   }
+
+   /**
+    * Get the <i>lap</i> count.
+    *
+    * @return  The <i>lap</i> count.
+    */
+   public int getLapCount()
+   {
+      return count;
+   }
+
+   /**
+    * Get the elapsed <i>lap</i> time since the watch was started.
+    *
+    * @return  Elapsed <i>lap</i> time or 0 if the watch was never started
+    */
+   public long getLapTime()
+   {
+      if (start == -1) {
+         return 0;
+      }
+      else if (running) {
+         return System.currentTimeMillis() - start;
+      }
+      else {
+         return stop - start;
+      }
+   }
+
+   /**
+    * Get the average <i>lap</i> time since the watch was started.
+    *
+    * @return  Average <i>lap</i> time since the watch was started.
+    */
+   public long getAverageLapTime()
+   {
+      return (count == 0) ? 0 : getLapTime() / getLapCount();
+   }
+
+   /**
+    * Get the elapsed time since the watch was created or last reset.
+    *
+    * @return  Elapsed time or 0 if the watch was never started.
+    */
+   public long getTime()
+   {
+      if (start == -1) {
+         return 0;
+      }
+      else if (running) {
+         return total + System.currentTimeMillis() - start;
+      }
+      else {
+         return total;
+      }
+   }
+
+   /**
+    * Check if the watch is running.
+    *
+    * @return  True if the watch is running.
+    */
+   public boolean isRunning()
+   {
+      return running;
+   }
+
+   /**
+    * Return a string representation.
+    */
+   public String toString()
+   {
+      StringBuffer buff = new StringBuffer();
+      
+      if (running) {
+         // the watch has not been stopped
+         formatElapsedTime(buff, getTime());
+
+         // add the current lap time too if there is more than one lap
+         if (count >= 1) {
+            buff.append(", count=").append(count);
+            buff.append(", current=");
+            formatElapsedTime(buff, getLapTime());
+         }
+      }
+      else {
+         // the watch has been stopped
+         formatElapsedTime(buff, getTime());
+
+         // add extra info if there is more than one lap
+         if (count > 1) {
+            buff.append(", count=").append(count);
+            buff.append(", average=");
+            formatElapsedTime(buff, getAverageLapTime());
+         }
+      }
+
+      return buff.toString();
+   }
+
+   private void formatElapsedTime(final StringBuffer buff, final long lapsed)
+   {
+      long m = lapsed / 60000;
+      if (m != 0) {
+         buff.append(m).append("m:");
+      }
+
+      long s = (lapsed - 60000 * m) / 1000;
+      if (s != 0) {
+         buff.append(s).append("s:");
+      }
+
+      // ms is always there, even if it was 0 too
+      long ms = (lapsed - 60000 * m - 1000 * s);
+      buff.append(ms).append("ms");
+   }
+   
+   /**
+    * Return a cloned copy of this object.
+    *
+    * @return  A cloned copy of this object.
+    */
+   public Object clone()
+   {
+      try {
+         return super.clone();
+      }
+      catch (CloneNotSupportedException e) {
+         throw new InternalError();
+      }
+   }
+
+
+   /////////////////////////////////////////////////////////////////////////
+   //                                Wrappers                             //
+   /////////////////////////////////////////////////////////////////////////
+
+   /**
+    * Base wrapper class for other wrappers.
+    */
+   private static class Wrapper
+      extends StopWatch
+   {
+      /** The serialVersionUID */
+      private static final long serialVersionUID = 6859401939735540773L;
+      protected StopWatch watch;
+
+      public Wrapper(final StopWatch watch) {
+         this.watch = watch;
+      }
+
+      public void start(final boolean reset) {
+         watch.start(reset);
+      }
+
+      public void start() {
+         watch.start();
+      }
+
+      public long stop() {
+         return watch.stop();
+      }
+
+      public void reset() {
+         watch.reset();
+      }
+
+      public long getLapTime() {
+         return watch.getLapTime();
+      }
+
+      public long getAverageLapTime() {
+         return watch.getAverageLapTime();
+      }
+
+      public int getLapCount() {
+         return watch.getLapCount();
+      }
+
+      public long getTime() {
+         return watch.getTime();
+      }
+
+      public boolean isRunning() {
+         return watch.isRunning();
+      }
+
+      public String toString() {
+         return watch.toString();
+      }
+   }
+
+   /**
+    * Return a synchronized stop watch.
+    *
+    * @param watch    StopWatch to synchronize.
+    * @return         Synchronized stop watch.
+    */
+   public static StopWatch makeSynchronized(final StopWatch watch)
+   {
+      return new Wrapper(watch)
+         {
+         /** The serialVersionUID */
+         private static final long serialVersionUID = -6284244000894114817L;
+            public synchronized void start(final boolean reset) {
+               this.watch.start(reset);
+            }
+
+            public synchronized void start() {
+               this.watch.start();
+            }
+
+            public synchronized long stop() {
+               return this.watch.stop();
+            }
+
+            public synchronized void reset() {
+               this.watch.reset();
+            }
+
+            public synchronized long getLapTime() {
+               return this.watch.getLapTime();
+            }
+
+            public synchronized long getAverageLapTime() {
+               return this.watch.getAverageLapTime();
+            }
+
+            public synchronized int getLapCount() {
+               return this.watch.getLapCount();
+            }
+
+            public synchronized long getTime() {
+               return this.watch.getTime();
+            }
+
+            public synchronized boolean isRunning() {
+               return this.watch.isRunning();
+            }
+
+            public synchronized String toString() {
+               return this.watch.toString();
+            }
+         };
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnexpectedThrowable.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/UnexpectedThrowable.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnexpectedThrowable.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,74 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-/**
- * Thrown to indicate that a Throwable was caught but was not expected.
- * This is typical when catching Throwables to handle and rethrow Exceptions
- * and Errors.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class UnexpectedThrowable
-   extends NestedError
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /**
-    * Construct a <tt>UnexpectedThrowable</tt> with the specified 
-    * detail message.
-    *
-    * @param msg  Detail message.
-    */
-   public UnexpectedThrowable(final String msg) {
-      super(msg);
-   }
-
-   /**
-    * Construct a <tt>UnexpectedThrowable</tt> with the specified
-    * detail message and nested <tt>Throwable</tt>.
-    *
-    * @param msg     Detail message.
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public UnexpectedThrowable(final String msg, final Throwable nested) {
-      super(msg, nested);
-   }
-
-   /**
-    * Construct a <tt>UnexpectedThrowable</tt> with the specified
-    * nested <tt>Throwable</tt>.
-    *
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public UnexpectedThrowable(final Throwable nested) {
-      super(nested);
-   }
-
-   /**
-    * Construct a <tt>UnexpectedThrowable</tt> with no detail.
-    */
-   public UnexpectedThrowable() {
-      super();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnexpectedThrowable.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/UnexpectedThrowable.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnexpectedThrowable.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnexpectedThrowable.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,74 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+/**
+ * Thrown to indicate that a Throwable was caught but was not expected.
+ * This is typical when catching Throwables to handle and rethrow Exceptions
+ * and Errors.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class UnexpectedThrowable
+   extends NestedError
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 4318032849691437298L;
+   /**
+    * Construct a <tt>UnexpectedThrowable</tt> with the specified 
+    * detail message.
+    *
+    * @param msg  Detail message.
+    */
+   public UnexpectedThrowable(final String msg) {
+      super(msg);
+   }
+
+   /**
+    * Construct a <tt>UnexpectedThrowable</tt> with the specified
+    * detail message and nested <tt>Throwable</tt>.
+    *
+    * @param msg     Detail message.
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public UnexpectedThrowable(final String msg, final Throwable nested) {
+      super(msg, nested);
+   }
+
+   /**
+    * Construct a <tt>UnexpectedThrowable</tt> with the specified
+    * nested <tt>Throwable</tt>.
+    *
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public UnexpectedThrowable(final Throwable nested) {
+      super(nested);
+   }
+
+   /**
+    * Construct a <tt>UnexpectedThrowable</tt> with no detail.
+    */
+   public UnexpectedThrowable() {
+      super();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnreachableStatementException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/UnreachableStatementException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnreachableStatementException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,51 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util;
-
-/**
- * Thrown to indicate that section of code that should never have been
- * reachable, has just been reached.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class UnreachableStatementException 
-   extends RuntimeException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /**
-    * Construct a <tt>UnreachableStatementException</tt> with a detail message.
-    *
-    * @param msg  Detail message.
-    */
-   public UnreachableStatementException(final String msg) {
-      super(msg);
-   }
-
-   /**
-    * Construct a <tt>UnreachableStatementException</tt> with no detail.
-    */
-   public UnreachableStatementException() {
-      super();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnreachableStatementException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/UnreachableStatementException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnreachableStatementException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/UnreachableStatementException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,51 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util;
+
+/**
+ * Thrown to indicate that section of code that should never have been
+ * reachable, has just been reached.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class UnreachableStatementException 
+   extends RuntimeException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -6741968131968754812L;
+   /**
+    * Construct a <tt>UnreachableStatementException</tt> with a detail message.
+    *
+    * @param msg  Detail message.
+    */
+   public UnreachableStatementException(final String msg) {
+      super(msg);
+   }
+
+   /**
+    * Construct a <tt>UnreachableStatementException</tt> with no detail.
+    */
+   public UnreachableStatementException() {
+      super();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ArrayIterator.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/collection/ArrayIterator.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ArrayIterator.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,106 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.collection;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-import java.io.Serializable;
-
-import org.jboss.util.NullArgumentException;
-
-/**
- * An array iterator.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
- at SuppressWarnings("unchecked")
-public class ArrayIterator
-   implements Iterator, Serializable, Cloneable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** Array to iterate over. */
-   protected final Object[] array;
-
-   /** The current position in the array. */
-   protected int index;
-
-   /**
-    * Construct an ArrayIterator.
-    *
-    * @param array   The array to iterate over.
-    */
-   public ArrayIterator(final Object[] array) {
-      if (array == null)
-         throw new NullArgumentException("array");
-
-      this.array = array;
-   }
-
-   /**
-    * Returns true if there are more elements in the iteration.
-    *
-    * @return  True if there are more elements in the iteration.
-    */
-   public boolean hasNext() {
-      return index < array.length;
-   }
-
-   /**
-    * Returns the next element in the iteration.
-    *
-    * @return  The next element in the iteration.
-    *
-    * @throws NoSuchElementException   The are no more elements available.
-    */
-   public Object next() {
-      if (! hasNext())
-         throw new NoSuchElementException();
-
-      return array[index++];
-   }
-
-   /**
-    * Unsupported.
-    *
-    * @throws UnsupportedOperationException
-    */
-   public void remove() {
-      throw new UnsupportedOperationException();
-   }
-
-   /**
-    * Returns a shallow cloned copy of this object.
-    *
-    * @return  A shallow cloned copy of this object.
-    */
-   public Object clone() {
-      try {
-         return super.clone();
-      }
-      catch (CloneNotSupportedException e) {
-         throw new InternalError();
-      }
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ArrayIterator.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/collection/ArrayIterator.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ArrayIterator.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ArrayIterator.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,106 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.collection;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+import java.io.Serializable;
+
+import org.jboss.util.NullArgumentException;
+
+/**
+ * An array iterator.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+ at SuppressWarnings("unchecked")
+public class ArrayIterator
+   implements Iterator, Serializable, Cloneable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -6604583440222021075L;
+   /** Array to iterate over. */
+   protected final Object[] array;
+
+   /** The current position in the array. */
+   protected int index;
+
+   /**
+    * Construct an ArrayIterator.
+    *
+    * @param array   The array to iterate over.
+    */
+   public ArrayIterator(final Object[] array) {
+      if (array == null)
+         throw new NullArgumentException("array");
+
+      this.array = array;
+   }
+
+   /**
+    * Returns true if there are more elements in the iteration.
+    *
+    * @return  True if there are more elements in the iteration.
+    */
+   public boolean hasNext() {
+      return index < array.length;
+   }
+
+   /**
+    * Returns the next element in the iteration.
+    *
+    * @return  The next element in the iteration.
+    *
+    * @throws NoSuchElementException   The are no more elements available.
+    */
+   public Object next() {
+      if (! hasNext())
+         throw new NoSuchElementException();
+
+      return array[index++];
+   }
+
+   /**
+    * Unsupported.
+    *
+    * @throws UnsupportedOperationException
+    */
+   public void remove() {
+      throw new UnsupportedOperationException();
+   }
+
+   /**
+    * Returns a shallow cloned copy of this object.
+    *
+    * @return  A shallow cloned copy of this object.
+    */
+   public Object clone() {
+      try {
+         return super.clone();
+      }
+      catch (CloneNotSupportedException e) {
+         throw new InternalError();
+      }
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CollectionException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/collection/CollectionException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CollectionException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,51 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.collection;
-
-/**
- * A generic collection exception.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class CollectionException
-   extends RuntimeException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /**
-    * Construct a <code>CollectionException</code> with the specified 
-    * detail message.
-    *
-    * @param msg  Detail message.
-    */
-   public CollectionException(String msg) {
-      super(msg);
-   }
-
-   /**
-    * Construct a <code>CollectionException</code> with no detail.
-    */
-   public CollectionException() {
-      super();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CollectionException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/collection/CollectionException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CollectionException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CollectionException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,51 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.collection;
+
+/**
+ * A generic collection exception.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class CollectionException
+   extends RuntimeException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 1470947618739421094L;
+   /**
+    * Construct a <code>CollectionException</code> with the specified 
+    * detail message.
+    *
+    * @param msg  Detail message.
+    */
+   public CollectionException(String msg) {
+      super(msg);
+   }
+
+   /**
+    * Construct a <code>CollectionException</code> with no detail.
+    */
+   public CollectionException() {
+      super();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CompoundKey.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/collection/CompoundKey.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CompoundKey.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,127 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.collection;
-
-import java.io.Serializable;
-
-import org.jboss.util.NullArgumentException;
-import org.jboss.util.Objects;
-import org.jboss.util.HashCode;
-import org.jboss.util.Strings;
-
-/**
- * An immutable compound key class.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class CompoundKey
-   implements Serializable, Cloneable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The elements of the key */
-   private final Object elements[];
-
-   /**
-    * Construct a CompoundKey.
-    *
-    * @param elements   Elements of the key.
-    */
-   public CompoundKey(final Object elements[]) {
-      if (elements == null)
-         throw new NullArgumentException("elements");
-
-      this.elements = elements;
-   }
-
-   /**
-    * Construct a CompoundKey.
-    *
-    * @param a    Element.
-    * @param b    Element.
-    */
-   public CompoundKey(final Object a, final Object b) {
-      this(new Object[] { a, b });
-   }
-
-   /**
-    * Construct a CompoundKey.
-    *
-    * @param a    Element.
-    * @param b    Element.
-    * @param c    Element.
-    */
-   public CompoundKey(final Object a, final Object b, final Object c) {
-      this(new Object[] { a, b, c });
-   }
-
-   /**
-    * Test the equality of an object with this.
-    *
-    * @param obj  Object to test equality with.
-    * @return     True if object is equal.
-    */
-   public boolean equals(final Object obj) {
-      if (obj == this) return true;
-
-      if (obj != null && obj.getClass() == getClass()) {
-         CompoundKey key = (CompoundKey)obj;
-
-         return Objects.equals(key.elements, elements);
-      }
-
-      return false;
-   }
-
-   /**
-    * Get the hash code of this object.
-    *
-    * @return  Hash code.
-    */
-   public int hashCode() {
-      return HashCode.generate(elements);
-   }
-
-   /**
-    * Return a string representation of this object.
-    *
-    * @return  A string representation of this object.
-    */
-   public String toString() {
-      return super.toString() + Strings.join(elements, "[", ",", "]");
-   }
-
-   /**
-    * Return a shallow cloned copy of this object.
-    *
-    * @return   Shallow cloned copy of this object.
-    */
-   public Object clone() {
-      try {
-         return super.clone();
-      }
-      catch (CloneNotSupportedException e) {
-         throw new InternalError();
-      }
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CompoundKey.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/collection/CompoundKey.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CompoundKey.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/CompoundKey.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,127 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.collection;
+
+import java.io.Serializable;
+
+import org.jboss.util.NullArgumentException;
+import org.jboss.util.Objects;
+import org.jboss.util.HashCode;
+import org.jboss.util.Strings;
+
+/**
+ * An immutable compound key class.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class CompoundKey
+   implements Serializable, Cloneable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -1181463173922935047L;
+   /** The elements of the key */
+   private final Object elements[];
+
+   /**
+    * Construct a CompoundKey.
+    *
+    * @param elements   Elements of the key.
+    */
+   public CompoundKey(final Object elements[]) {
+      if (elements == null)
+         throw new NullArgumentException("elements");
+
+      this.elements = elements;
+   }
+
+   /**
+    * Construct a CompoundKey.
+    *
+    * @param a    Element.
+    * @param b    Element.
+    */
+   public CompoundKey(final Object a, final Object b) {
+      this(new Object[] { a, b });
+   }
+
+   /**
+    * Construct a CompoundKey.
+    *
+    * @param a    Element.
+    * @param b    Element.
+    * @param c    Element.
+    */
+   public CompoundKey(final Object a, final Object b, final Object c) {
+      this(new Object[] { a, b, c });
+   }
+
+   /**
+    * Test the equality of an object with this.
+    *
+    * @param obj  Object to test equality with.
+    * @return     True if object is equal.
+    */
+   public boolean equals(final Object obj) {
+      if (obj == this) return true;
+
+      if (obj != null && obj.getClass() == getClass()) {
+         CompoundKey key = (CompoundKey)obj;
+
+         return Objects.equals(key.elements, elements);
+      }
+
+      return false;
+   }
+
+   /**
+    * Get the hash code of this object.
+    *
+    * @return  Hash code.
+    */
+   public int hashCode() {
+      return HashCode.generate(elements);
+   }
+
+   /**
+    * Return a string representation of this object.
+    *
+    * @return  A string representation of this object.
+    */
+   public String toString() {
+      return super.toString() + Strings.join(elements, "[", ",", "]");
+   }
+
+   /**
+    * Return a shallow cloned copy of this object.
+    *
+    * @return   Shallow cloned copy of this object.
+    */
+   public Object clone() {
+      try {
+         return super.clone();
+      }
+      catch (CloneNotSupportedException e) {
+         throw new InternalError();
+      }
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/EmptyCollectionException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/collection/EmptyCollectionException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/EmptyCollectionException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,52 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.collection;
-
-/**
- * Thrown to indicate that an operation can not be performed on an empty
- * collection.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class EmptyCollectionException
-   extends CollectionException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /**
-    * Construct a <code>EmptyCollectionException</code> with the specified 
-    * detail message.
-    *
-    * @param msg  Detail message.
-    */
-   public EmptyCollectionException(String msg) {
-      super(msg);
-   }
-
-   /**
-    * Construct a <code>EmptyCollectionException</code> with no detail.
-    */
-   public EmptyCollectionException() {
-      super();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/EmptyCollectionException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/collection/EmptyCollectionException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/EmptyCollectionException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/EmptyCollectionException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,52 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.collection;
+
+/**
+ * Thrown to indicate that an operation can not be performed on an empty
+ * collection.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class EmptyCollectionException
+   extends CollectionException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -4562591066479152759L;
+   /**
+    * Construct a <code>EmptyCollectionException</code> with the specified 
+    * detail message.
+    *
+    * @param msg  Detail message.
+    */
+   public EmptyCollectionException(String msg) {
+      super(msg);
+   }
+
+   /**
+    * Construct a <code>EmptyCollectionException</code> with no detail.
+    */
+   public EmptyCollectionException() {
+      super();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/FullCollectionException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/collection/FullCollectionException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/FullCollectionException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,52 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.collection;
-
-/**
- * Thrown to indicate that an operation can not be performed on a full
- * collection.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class FullCollectionException
-   extends CollectionException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /**
-    * Construct a <code>FullCollectionException</code> with the specified 
-    * detail message.
-    *
-    * @param msg  Detail message.
-    */
-   public FullCollectionException(String msg) {
-      super(msg);
-   }
-
-   /**
-    * Construct a <code>FullCollectionException</code> with no detail.
-    */
-   public FullCollectionException() {
-      super();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/FullCollectionException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/collection/FullCollectionException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/FullCollectionException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/FullCollectionException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,52 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.collection;
+
+/**
+ * Thrown to indicate that an operation can not be performed on a full
+ * collection.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class FullCollectionException
+   extends CollectionException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -1795773071357559465L;
+   /**
+    * Construct a <code>FullCollectionException</code> with the specified 
+    * detail message.
+    *
+    * @param msg  Detail message.
+    */
+   public FullCollectionException(String msg) {
+      super(msg);
+   }
+
+   /**
+    * Construct a <code>FullCollectionException</code> with no detail.
+    */
+   public FullCollectionException() {
+      super();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ListSet.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/collection/ListSet.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ListSet.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,181 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.collection;
-
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Set;
-import java.util.AbstractSet;
-import java.util.Iterator;
-import java.util.Collection;
-import java.io.Serializable;
-
-import org.jboss.util.NullArgumentException;
-
-/**
- * A thin wrapper around a <code>List</code> transforming it into a
- * modifiable <code>Set</code>.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
- at SuppressWarnings("unchecked")
-public class ListSet
-   extends AbstractSet
-   implements Set, Cloneable, Serializable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The <tt>List</tt> which will be used for element storage. */
-   protected final List list;
-
-   /**
-    * Construct a <tt>ListSet</tt>.
-    *
-    * @param list    The <tt>List</tt> which will be used for element storage.
-    *
-    * @throws IllegalArgumentException    List is <tt>null</tt> or contains
-    *                                     duplicate entries.
-    */
-   public ListSet(final List list) {
-      if (list == null)
-         throw new NullArgumentException("list");
-
-      // make sure there are no duplicates
-      int size = list.size();
-      for (int i=0; i<size; i++) {
-         Object obj = list.get(i);
-         if (list.indexOf(obj) != list.lastIndexOf(obj)) {
-            throw new IllegalArgumentException
-               ("list contains duplicate entries");
-         }
-      }
-
-      this.list = list;
-   }
-
-   /**
-    * Construct a <tt>ListSet</tt> using an <tt>ArrayList</tt> for backing.
-    */
-   public ListSet() {
-      this(new ArrayList());
-   }
-
-   /**
-    * Construct a <tt>ListSet</tt> using an <tt>ArrayList</tt> for backing
-    * and populated with the given elements.
-    *
-    * @param elements   The elements for the list.
-    */
-   public ListSet(final Collection elements) {
-      this(new ArrayList(elements));
-   }
-   
-   public List getList()
-   {
-      return list;
-   }
-   
-   /**
-    * Return the size of the set.
-    *
-    * @return  The size of the set.
-    */
-   public int size() {
-      return list.size();
-   }
-
-   /**
-    * Return an iteration over the elements in the set.
-    *
-    * @return  An iteration over the elements in the set.
-    */
-   public Iterator iterator() {
-      return list.iterator();
-   }
-
-   /**
-    * Add an element to the set.
-    *
-    * @param obj  Element to add to the set.
-    * @return     True if the element was added.
-    */
-   public boolean add(final Object obj) {
-      boolean added = false;
-
-      if (!list.contains(obj)) {
-         added = list.add(obj);
-      }
-
-      return added;
-   }
-
-   /**
-    * Returns <tt>true</tt> if this set contains no elements.
-    *
-    * @return  <tt>true</tt> if this set contains no elements.
-    */
-   public boolean isEmpty() {
-      return list.isEmpty();
-   }
-
-   /**
-    * Returns <tt>true</tt> if this set contains the specified element.
-    *
-    * @param obj  Element whose presence in this set is to be tested.
-    * @return     <tt>true</tt> if this set contains the specified element.
-    */
-   public boolean contains(final Object obj) {
-      return list.contains(obj);
-   }
-
-   /**
-    * Removes the given element from this set if it is present.
-    *
-    * @param obj  Object to be removed from this set, if present.
-    * @return     <tt>true</tt> if the set contained the specified element.
-    */
-   public boolean remove(final Object obj) {
-      return list.remove(obj);
-   }
-
-   /**
-    * Removes all of the elements from this set.
-    */
-   public void clear() {
-      list.clear();
-   }
-
-   /**
-     * Returns a shallow copy of this <tt>ListSet</tt> instance.
-     *
-     * @return    A shallow copy of this set.
-     */
-   public Object clone() {
-      try { 
-         return super.clone();
-      }
-      catch (CloneNotSupportedException e) { 
-         throw new InternalError();
-      }
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ListSet.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/collection/ListSet.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ListSet.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/ListSet.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,181 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.collection;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Set;
+import java.util.AbstractSet;
+import java.util.Iterator;
+import java.util.Collection;
+import java.io.Serializable;
+
+import org.jboss.util.NullArgumentException;
+
+/**
+ * A thin wrapper around a <code>List</code> transforming it into a
+ * modifiable <code>Set</code>.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+ at SuppressWarnings("unchecked")
+public class ListSet
+   extends AbstractSet
+   implements Set, Cloneable, Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 7333619218072079496L;
+   /** The <tt>List</tt> which will be used for element storage. */
+   protected final List list;
+
+   /**
+    * Construct a <tt>ListSet</tt>.
+    *
+    * @param list    The <tt>List</tt> which will be used for element storage.
+    *
+    * @throws IllegalArgumentException    List is <tt>null</tt> or contains
+    *                                     duplicate entries.
+    */
+   public ListSet(final List list) {
+      if (list == null)
+         throw new NullArgumentException("list");
+
+      // make sure there are no duplicates
+      int size = list.size();
+      for (int i=0; i<size; i++) {
+         Object obj = list.get(i);
+         if (list.indexOf(obj) != list.lastIndexOf(obj)) {
+            throw new IllegalArgumentException
+               ("list contains duplicate entries");
+         }
+      }
+
+      this.list = list;
+   }
+
+   /**
+    * Construct a <tt>ListSet</tt> using an <tt>ArrayList</tt> for backing.
+    */
+   public ListSet() {
+      this(new ArrayList());
+   }
+
+   /**
+    * Construct a <tt>ListSet</tt> using an <tt>ArrayList</tt> for backing
+    * and populated with the given elements.
+    *
+    * @param elements   The elements for the list.
+    */
+   public ListSet(final Collection elements) {
+      this(new ArrayList(elements));
+   }
+   
+   public List getList()
+   {
+      return list;
+   }
+   
+   /**
+    * Return the size of the set.
+    *
+    * @return  The size of the set.
+    */
+   public int size() {
+      return list.size();
+   }
+
+   /**
+    * Return an iteration over the elements in the set.
+    *
+    * @return  An iteration over the elements in the set.
+    */
+   public Iterator iterator() {
+      return list.iterator();
+   }
+
+   /**
+    * Add an element to the set.
+    *
+    * @param obj  Element to add to the set.
+    * @return     True if the element was added.
+    */
+   public boolean add(final Object obj) {
+      boolean added = false;
+
+      if (!list.contains(obj)) {
+         added = list.add(obj);
+      }
+
+      return added;
+   }
+
+   /**
+    * Returns <tt>true</tt> if this set contains no elements.
+    *
+    * @return  <tt>true</tt> if this set contains no elements.
+    */
+   public boolean isEmpty() {
+      return list.isEmpty();
+   }
+
+   /**
+    * Returns <tt>true</tt> if this set contains the specified element.
+    *
+    * @param obj  Element whose presence in this set is to be tested.
+    * @return     <tt>true</tt> if this set contains the specified element.
+    */
+   public boolean contains(final Object obj) {
+      return list.contains(obj);
+   }
+
+   /**
+    * Removes the given element from this set if it is present.
+    *
+    * @param obj  Object to be removed from this set, if present.
+    * @return     <tt>true</tt> if the set contained the specified element.
+    */
+   public boolean remove(final Object obj) {
+      return list.remove(obj);
+   }
+
+   /**
+    * Removes all of the elements from this set.
+    */
+   public void clear() {
+      list.clear();
+   }
+
+   /**
+     * Returns a shallow copy of this <tt>ListSet</tt> instance.
+     *
+     * @return    A shallow copy of this set.
+     */
+   public Object clone() {
+      try { 
+         return super.clone();
+      }
+      catch (CloneNotSupportedException e) { 
+         throw new InternalError();
+      }
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/SerializableEnumeration.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/collection/SerializableEnumeration.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/SerializableEnumeration.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,86 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.collection;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.NoSuchElementException;
-
-/**
- * ???
- *      
- * @author ???
- * @version $Revision$
- */
- at SuppressWarnings("unchecked")
-public class SerializableEnumeration
-   extends ArrayList
-   implements Enumeration
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   private int index;
-
-   public SerializableEnumeration () {
-      index = 0;
-   }
-
-   public SerializableEnumeration (Collection c) {
-      super(c);
-      index = 0;
-   }
-	 
-   public SerializableEnumeration (int initialCapacity) {
-      super(initialCapacity);
-      index = 0;
-   }
-	 
-   public boolean hasMoreElements() {
-      return (index < size());
-   }
-	
-   public Object nextElement() throws NoSuchElementException
-   {
-      try {
-         Object nextObj = get(index);
-         index++;
-         return nextObj;
-      }
-      catch (IndexOutOfBoundsException e) {
-         throw new NoSuchElementException();
-      }
-   }
-
-   private void writeObject(java.io.ObjectOutputStream out)
-      throws java.io.IOException
-   {
-      // the only thing to write is the index field
-      out.defaultWriteObject();
-   }
-   
-   private void readObject(java.io.ObjectInputStream in)
-      throws java.io.IOException, ClassNotFoundException
-   {
-      in.defaultReadObject();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/SerializableEnumeration.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/collection/SerializableEnumeration.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/SerializableEnumeration.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/collection/SerializableEnumeration.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,86 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.collection;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.NoSuchElementException;
+
+/**
+ * ???
+ *      
+ * @author ???
+ * @version $Revision$
+ */
+ at SuppressWarnings("unchecked")
+public class SerializableEnumeration
+   extends ArrayList
+   implements Enumeration
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 8678951571196067510L;
+   private int index;
+
+   public SerializableEnumeration () {
+      index = 0;
+   }
+
+   public SerializableEnumeration (Collection c) {
+      super(c);
+      index = 0;
+   }
+	 
+   public SerializableEnumeration (int initialCapacity) {
+      super(initialCapacity);
+      index = 0;
+   }
+	 
+   public boolean hasMoreElements() {
+      return (index < size());
+   }
+	
+   public Object nextElement() throws NoSuchElementException
+   {
+      try {
+         Object nextObj = get(index);
+         index++;
+         return nextObj;
+      }
+      catch (IndexOutOfBoundsException e) {
+         throw new NoSuchElementException();
+      }
+   }
+
+   private void writeObject(java.io.ObjectOutputStream out)
+      throws java.io.IOException
+   {
+      // the only thing to write is the index field
+      out.defaultWriteObject();
+   }
+   
+   private void readObject(java.io.ObjectInputStream in)
+      throws java.io.IOException, ClassNotFoundException
+   {
+      in.defaultReadObject();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/deadlock/ApplicationDeadlockException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/deadlock/ApplicationDeadlockException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/deadlock/ApplicationDeadlockException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,86 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.deadlock;
-
-/**
- * This exception class is thrown when application deadlock is detected when trying to lock an entity bean
- * This is probably NOT a result of a jboss bug, but rather that the application is access the same entity
- * beans within 2 different transaction in a different order.  Remember, with a PessimisticEJBLock, 
- * Entity beans are locked until the transaction commits or is rolled back.
- *
- * @author <a href="bill at burkecentral.com">Bill Burke</a>
- *
- * @version $Revision$
- *
- * <p><b>Revisions:</b><br>
- * <p><b>2002/02/13: billb</b>
- *  <ol>
- *  <li>Initial revision
- *  </ol>
- */
-public class ApplicationDeadlockException extends RuntimeException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   protected boolean retry = false;
-
-
-   public ApplicationDeadlockException()
-   {
-      super();
-   }
-
-   public ApplicationDeadlockException(String msg, boolean retry)
-   {
-      super(msg);
-      this.retry = retry;
-   }
-
-   public boolean retryable()
-   {
-      return retry;
-   }
-
-   
-   /**
-    * Detects exception contains is or a ApplicationDeadlockException.
-    * @param t 
-    * @return  true when it is a deadlock
-    */
-   public static ApplicationDeadlockException isADE(Throwable t)
-   {
-      while (t!=null)
-      {
-         if (t instanceof ApplicationDeadlockException)
-         {
-            return (ApplicationDeadlockException)t;
-         }
-         else
-         {
-            t = t.getCause();
-         }
-      }
-      return null;
-   }
-
-}
-

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/deadlock/ApplicationDeadlockException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/deadlock/ApplicationDeadlockException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/deadlock/ApplicationDeadlockException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/deadlock/ApplicationDeadlockException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,86 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.deadlock;
+
+/**
+ * This exception class is thrown when application deadlock is detected when trying to lock an entity bean
+ * This is probably NOT a result of a jboss bug, but rather that the application is access the same entity
+ * beans within 2 different transaction in a different order.  Remember, with a PessimisticEJBLock, 
+ * Entity beans are locked until the transaction commits or is rolled back.
+ *
+ * @author <a href="bill at burkecentral.com">Bill Burke</a>
+ *
+ * @version $Revision$
+ *
+ * <p><b>Revisions:</b><br>
+ * <p><b>2002/02/13: billb</b>
+ *  <ol>
+ *  <li>Initial revision
+ *  </ol>
+ */
+public class ApplicationDeadlockException extends RuntimeException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -908428091244600395L;
+   protected boolean retry = false;
+
+
+   public ApplicationDeadlockException()
+   {
+      super();
+   }
+
+   public ApplicationDeadlockException(String msg, boolean retry)
+   {
+      super(msg);
+      this.retry = retry;
+   }
+
+   public boolean retryable()
+   {
+      return retry;
+   }
+
+   
+   /**
+    * Detects exception contains is or a ApplicationDeadlockException.
+    * @param t 
+    * @return  true when it is a deadlock
+    */
+   public static ApplicationDeadlockException isADE(Throwable t)
+   {
+      while (t!=null)
+      {
+         if (t instanceof ApplicationDeadlockException)
+         {
+            return (ApplicationDeadlockException)t;
+         }
+         else
+         {
+            t = t.getCause();
+         }
+      }
+      return null;
+   }
+
+}
+

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/id/VMID.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/id/VMID.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/id/VMID.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,263 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.id;
-
-import java.net.InetAddress;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.Arrays;
-
-import org.jboss.util.HashCode;
-import org.jboss.util.platform.PID;
-
-/**
- * An object that uniquely identifies a virtual machine.
- *
- * <p>The identifier is composed of:
- * <ol>
- *    <li>The Internet address of the physical machine.</li>
- *    <li>The process identifier of the virtual machine.</li>
- *    <li>A UID to guarantee uniqness across multipule virtual
- *        machines on the same physical machine.</li>
- * </ol>
- *
- * <pre>
- *    [ address ] - [ process id ] - [ time ] - [ counter ]
- *                                   |------- UID --------|
- * </pre>
- *
- * <p>Numbers are converted to radix(Character.MAX_RADIX) when converting
- *    to strings.
- *
- * @see UID
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
- at SuppressWarnings("unchecked")
-public class VMID
-   implements ID
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The address of the current virtual machine */
-   protected final byte[] address;
-
-   /** The process identifier of the current virtual machine */
-   protected final PID pid;
-
-   /** A unique identifier to ensure uniqueness across the host machine */
-   protected final UID uid;
-
-   /** The hash code of this VMID */
-   protected final int hashCode;
-
-   /**
-    * Construct a new VMID.
-    *
-    * @param address    The address of the current virtual machine.
-    * @param pid        Process identifier.
-    * @param uid        Unique identifier.
-    *
-    * @see #getInstance()  For getting a VMID instance reference.
-    */
-   protected VMID(final byte[] address, final PID pid, final UID uid) {
-      this.address = address;
-      this.pid = pid;
-      this.uid = uid;
-
-      // generate a hashCode for this VMID
-      int code = pid.hashCode();
-      code ^= uid.hashCode();
-      code ^= HashCode.generate(address);
-      hashCode = code;
-   }
-
-   /**
-    * Copy a VMID.
-    *
-    * @param vmid    VMID to copy.
-    */
-   protected VMID(final VMID vmid) {
-      this.address = vmid.address;
-      this.pid = vmid.pid;
-      this.uid = vmid.uid;
-      this.hashCode = vmid.hashCode;
-   }
-
-   /**
-    * Get the address portion of this VMID.
-    *
-    * @return  The address portion of this VMID.
-    */
-   public final byte[] getAddress() {
-      return address;
-   }
-
-   /**
-    * Get the process identifier portion of this VMID.
-    *
-    * @return  The process identifier portion of this VMID.
-    */
-   public final PID getProcessID() {
-      return pid;
-   }
-
-   /**
-    * Get the UID portion of this VMID.
-    *
-    * @return  The UID portion of this VMID.
-    */
-   public final UID getUID() {
-      return uid;
-   }
-
-   /**
-    * Return a string representation of this VMID.
-    *
-    * @return  A string representation of this VMID.
-    */
-   public String toString() {
-      StringBuffer buff = new StringBuffer();
-      
-      for (int i=0; i<address.length; i++) {
-         int n = (address[i] & 0xFF);
-         buff.append(Integer.toString(n, Character.MAX_RADIX));
-      }
-
-      buff.append("-").append(pid.toString(Character.MAX_RADIX));
-      buff.append("-").append(uid);
-
-      return buff.toString();
-   }
-
-   /**
-    * Return the hash code of this VMID.
-    *
-    * @return  The hash code of this VMID.
-    */
-   public final int hashCode() {
-      return hashCode;
-   }
-
-   /**
-    * Check if the given object is equal to this VMID.
-    *
-    * <p>A VMID is equals to another VMID if the address,
-    *    process identifer and UID portions are equal.
-    *
-    * @param obj     Object to test equality with.
-    * @return        True if object is equals to this VMID.
-    */
-   public boolean equals(final Object obj) {
-      if (obj == this) return true;
-
-      if (obj != null && obj.getClass() == getClass()) {
-         VMID vmid = (VMID)obj;
-         return 
-            Arrays.equals(vmid.address, address) &&
-            vmid.pid.equals(pid) &&
-            vmid.uid.equals(uid);
-      }
-
-      return false;
-   }
-
-   /**
-    * Returns a copy of this VMID.
-    *
-    * @return  A copy of this VMID.
-    */
-   public Object clone() {
-      try {
-         return super.clone();
-      }
-      catch (CloneNotSupportedException e) {
-         throw new InternalError();
-      }
-   }
-
-   /**
-    * Returns a VMID as a string.
-    *
-    * @return  VMID as a string.
-    */
-   public static String asString() {
-      return getInstance().toString();
-   }
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                            Instance Access                          //
-   /////////////////////////////////////////////////////////////////////////
-
-   /** The single instance of VMID for the running Virtual Machine */
-   private static VMID instance = null;
-
-   /**
-    * Get the VMID for the current virtual machine.
-    *
-    * @return  Virtual machine identifier.
-    *
-    */
-   public synchronized static VMID getInstance() {
-      if (instance == null) {
-         instance = create();
-      }
-      return instance;
-   }
-
-   /** 
-    * The address used when conventional methods fail to return the address
-    * of the current machine.
-    */
-   public static final byte[] UNKNOWN_HOST = { 0, 0, 0, 0 };
-
-   /**
-    * Return the current host internet address.
-    */
-   private static byte[] getHostAddress() {
-      return (byte[]) AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
-               try {
-                  return InetAddress.getLocalHost().getAddress();
-               }
-               catch (Exception e) {
-                  return UNKNOWN_HOST;
-               }
-            }
-         });
-   }
-
-   /**
-    * Create the VMID for the current virtual mahcine.
-    *
-    * @return  Virtual machine identifer.
-    */
-   private static VMID create() {
-      // get the local internet address for the current host
-      byte[] address = getHostAddress();
-         
-      return new VMID(address, PID.getInstance(), new UID());
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/id/VMID.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/id/VMID.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/id/VMID.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/id/VMID.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,263 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.id;
+
+import java.net.InetAddress;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.Arrays;
+
+import org.jboss.util.HashCode;
+import org.jboss.util.platform.PID;
+
+/**
+ * An object that uniquely identifies a virtual machine.
+ *
+ * <p>The identifier is composed of:
+ * <ol>
+ *    <li>The Internet address of the physical machine.</li>
+ *    <li>The process identifier of the virtual machine.</li>
+ *    <li>A UID to guarantee uniqness across multipule virtual
+ *        machines on the same physical machine.</li>
+ * </ol>
+ *
+ * <pre>
+ *    [ address ] - [ process id ] - [ time ] - [ counter ]
+ *                                   |------- UID --------|
+ * </pre>
+ *
+ * <p>Numbers are converted to radix(Character.MAX_RADIX) when converting
+ *    to strings.
+ *
+ * @see UID
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+ at SuppressWarnings("unchecked")
+public class VMID
+   implements ID
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -4339675822939194520L;
+   /** The address of the current virtual machine */
+   protected final byte[] address;
+
+   /** The process identifier of the current virtual machine */
+   protected final PID pid;
+
+   /** A unique identifier to ensure uniqueness across the host machine */
+   protected final UID uid;
+
+   /** The hash code of this VMID */
+   protected final int hashCode;
+
+   /**
+    * Construct a new VMID.
+    *
+    * @param address    The address of the current virtual machine.
+    * @param pid        Process identifier.
+    * @param uid        Unique identifier.
+    *
+    * @see #getInstance()  For getting a VMID instance reference.
+    */
+   protected VMID(final byte[] address, final PID pid, final UID uid) {
+      this.address = address;
+      this.pid = pid;
+      this.uid = uid;
+
+      // generate a hashCode for this VMID
+      int code = pid.hashCode();
+      code ^= uid.hashCode();
+      code ^= HashCode.generate(address);
+      hashCode = code;
+   }
+
+   /**
+    * Copy a VMID.
+    *
+    * @param vmid    VMID to copy.
+    */
+   protected VMID(final VMID vmid) {
+      this.address = vmid.address;
+      this.pid = vmid.pid;
+      this.uid = vmid.uid;
+      this.hashCode = vmid.hashCode;
+   }
+
+   /**
+    * Get the address portion of this VMID.
+    *
+    * @return  The address portion of this VMID.
+    */
+   public final byte[] getAddress() {
+      return address;
+   }
+
+   /**
+    * Get the process identifier portion of this VMID.
+    *
+    * @return  The process identifier portion of this VMID.
+    */
+   public final PID getProcessID() {
+      return pid;
+   }
+
+   /**
+    * Get the UID portion of this VMID.
+    *
+    * @return  The UID portion of this VMID.
+    */
+   public final UID getUID() {
+      return uid;
+   }
+
+   /**
+    * Return a string representation of this VMID.
+    *
+    * @return  A string representation of this VMID.
+    */
+   public String toString() {
+      StringBuffer buff = new StringBuffer();
+      
+      for (int i=0; i<address.length; i++) {
+         int n = (address[i] & 0xFF);
+         buff.append(Integer.toString(n, Character.MAX_RADIX));
+      }
+
+      buff.append("-").append(pid.toString(Character.MAX_RADIX));
+      buff.append("-").append(uid);
+
+      return buff.toString();
+   }
+
+   /**
+    * Return the hash code of this VMID.
+    *
+    * @return  The hash code of this VMID.
+    */
+   public final int hashCode() {
+      return hashCode;
+   }
+
+   /**
+    * Check if the given object is equal to this VMID.
+    *
+    * <p>A VMID is equals to another VMID if the address,
+    *    process identifer and UID portions are equal.
+    *
+    * @param obj     Object to test equality with.
+    * @return        True if object is equals to this VMID.
+    */
+   public boolean equals(final Object obj) {
+      if (obj == this) return true;
+
+      if (obj != null && obj.getClass() == getClass()) {
+         VMID vmid = (VMID)obj;
+         return 
+            Arrays.equals(vmid.address, address) &&
+            vmid.pid.equals(pid) &&
+            vmid.uid.equals(uid);
+      }
+
+      return false;
+   }
+
+   /**
+    * Returns a copy of this VMID.
+    *
+    * @return  A copy of this VMID.
+    */
+   public Object clone() {
+      try {
+         return super.clone();
+      }
+      catch (CloneNotSupportedException e) {
+         throw new InternalError();
+      }
+   }
+
+   /**
+    * Returns a VMID as a string.
+    *
+    * @return  VMID as a string.
+    */
+   public static String asString() {
+      return getInstance().toString();
+   }
+
+
+   /////////////////////////////////////////////////////////////////////////
+   //                            Instance Access                          //
+   /////////////////////////////////////////////////////////////////////////
+
+   /** The single instance of VMID for the running Virtual Machine */
+   private static VMID instance = null;
+
+   /**
+    * Get the VMID for the current virtual machine.
+    *
+    * @return  Virtual machine identifier.
+    *
+    */
+   public synchronized static VMID getInstance() {
+      if (instance == null) {
+         instance = create();
+      }
+      return instance;
+   }
+
+   /** 
+    * The address used when conventional methods fail to return the address
+    * of the current machine.
+    */
+   public static final byte[] UNKNOWN_HOST = { 0, 0, 0, 0 };
+
+   /**
+    * Return the current host internet address.
+    */
+   private static byte[] getHostAddress() {
+      return (byte[]) AccessController.doPrivileged(new PrivilegedAction() {
+            public Object run() {
+               try {
+                  return InetAddress.getLocalHost().getAddress();
+               }
+               catch (Exception e) {
+                  return UNKNOWN_HOST;
+               }
+            }
+         });
+   }
+
+   /**
+    * Create the VMID for the current virtual mahcine.
+    *
+    * @return  Virtual machine identifer.
+    */
+   private static VMID create() {
+      // get the local internet address for the current host
+      byte[] address = getHostAddress();
+         
+      return new VMID(address, PID.getInstance(), new UID());
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/platform/PID.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/platform/PID.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/platform/PID.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,152 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.platform;
-
-import java.io.Serializable;
-
-import java.util.Random;
-
-/**
- * Provides access to the process identifier for this virtual machine.
- *
- * <p>Currently does not support native access and generates random numbers
- *    for the process id.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class PID
-   implements Serializable, Cloneable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The <tt>int</tt> process identifier. */
-   protected final int id;
-
-   /**
-    * Construct a new PID.
-    *
-    * @param id   Process identifier.
-    */
-   protected PID(final int id) {
-      this.id = id;
-   }
-
-   /**
-    * Get the <tt>int</tt> process identifier.
-    *
-    * @return  <tt>int</tt> process identifier.
-    */
-   public final int getID() {
-      return id;
-   }
-
-   /**
-    * Return a string representation of this PID.
-    *
-    * @return  A string representation of this PID.
-    */
-   public String toString() {
-      return String.valueOf(id);
-   }
-
-   /**
-    * Return a string representation of this PID.
-    * @param radix 
-    *
-    * @return  A string representation of this PID.
-    */
-   public String toString(int radix) {
-      return Integer.toString(id, radix);
-   }
-
-   /**
-    * Return the hash code of this PID.
-    *
-    * @return  The hash code of this PID.
-    */
-   public int hashCode() {
-      return id;
-   }
-
-   /**
-    * Check if the given object is equal to this PID.
-    *
-    * @param obj     Object to test equality with.
-    * @return        True if object is equals to this PID.
-    */
-   public boolean equals(final Object obj) {
-      if (obj == this) return true;
-
-      if (obj != null && obj.getClass() == getClass()) {
-         PID pid = (PID)obj;
-         return pid.id == id;
-      }
-
-      return false;
-   }
-
-   /**
-    * Returns a copy of this PID.
-    *
-    * @return  A copy of this PID.
-    */
-   public Object clone() {
-      try {
-         return super.clone();
-      }
-      catch (CloneNotSupportedException e) {
-         throw new InternalError();
-      }
-   }
-
-
-   /////////////////////////////////////////////////////////////////////////
-   //                            Instance Access                          //
-   /////////////////////////////////////////////////////////////////////////
-
-   /** The single instance of PID for the running Virtual Machine */
-   private static PID instance = null;
-
-   /**
-    * Get the PID for the current virtual machine.
-    *
-    * @return  Process identifier.
-    */
-   public synchronized static PID getInstance() {
-      if (instance == null) {
-         instance = create();
-      }
-      return instance;
-   }
-
-   /**
-    * Create the PID for the current virtual mahcine.
-    *
-    * @return  Process identifier.
-    */
-   private static PID create() {
-      // for now just return a random integer.
-      int random = Math.abs(new Random().nextInt());
-      return new PID(random);
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/platform/PID.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/platform/PID.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/platform/PID.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/platform/PID.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,152 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.platform;
+
+import java.io.Serializable;
+
+import java.util.Random;
+
+/**
+ * Provides access to the process identifier for this virtual machine.
+ *
+ * <p>Currently does not support native access and generates random numbers
+ *    for the process id.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class PID
+   implements Serializable, Cloneable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -6837013326314943907L;
+   /** The <tt>int</tt> process identifier. */
+   protected final int id;
+
+   /**
+    * Construct a new PID.
+    *
+    * @param id   Process identifier.
+    */
+   protected PID(final int id) {
+      this.id = id;
+   }
+
+   /**
+    * Get the <tt>int</tt> process identifier.
+    *
+    * @return  <tt>int</tt> process identifier.
+    */
+   public final int getID() {
+      return id;
+   }
+
+   /**
+    * Return a string representation of this PID.
+    *
+    * @return  A string representation of this PID.
+    */
+   public String toString() {
+      return String.valueOf(id);
+   }
+
+   /**
+    * Return a string representation of this PID.
+    * @param radix 
+    *
+    * @return  A string representation of this PID.
+    */
+   public String toString(int radix) {
+      return Integer.toString(id, radix);
+   }
+
+   /**
+    * Return the hash code of this PID.
+    *
+    * @return  The hash code of this PID.
+    */
+   public int hashCode() {
+      return id;
+   }
+
+   /**
+    * Check if the given object is equal to this PID.
+    *
+    * @param obj     Object to test equality with.
+    * @return        True if object is equals to this PID.
+    */
+   public boolean equals(final Object obj) {
+      if (obj == this) return true;
+
+      if (obj != null && obj.getClass() == getClass()) {
+         PID pid = (PID)obj;
+         return pid.id == id;
+      }
+
+      return false;
+   }
+
+   /**
+    * Returns a copy of this PID.
+    *
+    * @return  A copy of this PID.
+    */
+   public Object clone() {
+      try {
+         return super.clone();
+      }
+      catch (CloneNotSupportedException e) {
+         throw new InternalError();
+      }
+   }
+
+
+   /////////////////////////////////////////////////////////////////////////
+   //                            Instance Access                          //
+   /////////////////////////////////////////////////////////////////////////
+
+   /** The single instance of PID for the running Virtual Machine */
+   private static PID instance = null;
+
+   /**
+    * Get the PID for the current virtual machine.
+    *
+    * @return  Process identifier.
+    */
+   public synchronized static PID getInstance() {
+      if (instance == null) {
+         instance = create();
+      }
+      return instance;
+   }
+
+   /**
+    * Create the PID for the current virtual mahcine.
+    *
+    * @return  Process identifier.
+    */
+   private static PID create() {
+      // for now just return a random integer.
+      int random = Math.abs(new Random().nextInt());
+      return new PID(random);
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyContainer.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/property/PropertyContainer.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyContainer.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,160 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.property;
-
-import java.util.Properties;
-
-/**
- * Provides helper methods for working with instance or class properties.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class PropertyContainer
-   extends PropertyMap
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** The group name for this container. */
-   protected String groupname = "<unknown>";
-
-   /**
-    * Initialize the container with a property group.
-    * @param props 
-    */
-   public PropertyContainer(final Properties props) {
-      super(props);
-   }
-
-   /**
-    * Initialize the container with a property group of the given name.
-    *
-    * @param groupname  Property group name.
-    */
-   public PropertyContainer(final String groupname) {
-      this(Property.getGroup(groupname));
-      this.groupname = groupname;
-   }
-
-   /**
-    * Initialize the container with a property group of the given class name.
-    *
-    * @param type    The class whos name will be the property group name.
-    */
-   public PropertyContainer(final Class<?> type) {
-      this(type.getName());
-   }
-   
-   /**
-    * Creates a {@link FieldBoundPropertyListener} for the field and
-    * property name and adds it the underlying property group.
-    *
-    * @param name          The field name to bind values to.
-    * @param propertyName  The property name to bind to.
-    *
-    * @throws IllegalArgumentException    Field of property name is null or 
-    *                                     empty.
-    */
-   protected void bindField(final String name, final String propertyName) {
-      if (name == null || name.equals(""))
-         throw new IllegalArgumentException("name");
-      if (propertyName == null || propertyName.equals(""))
-         throw new IllegalArgumentException("propertyName");
-
-      addPropertyListener
-         (new FieldBoundPropertyListener(this, name, propertyName));
-   }
-
-   /**
-    * Creates a {@link FieldBoundPropertyListener} for the field and
-    * property name and adds it the underlying property group.
-    *
-    * @param name    The field name and property to bind values to.
-    *
-    * @throws IllegalArgumentException    Field of property name is null or 
-    *                                     empty.
-    */
-   protected void bindField(final String name) {
-      bindField(name, name);
-   }
-
-   /**
-    * Creates a {@link MethodBoundPropertyListener} for the method and
-    * property name and adds it the underlying property group.
-    *
-    * @param name          The method name to bind values to.
-    * @param propertyName  The property name to bind to.
-    *
-    * @throws IllegalArgumentException    Method of property name is null or 
-    *                                     empty.
-    */
-   protected void bindMethod(final String name, final String propertyName) {
-      if (name == null || name.equals(""))
-         throw new IllegalArgumentException("name");
-      if (propertyName == null || propertyName.equals(""))
-         throw new IllegalArgumentException("propertyName");
-
-      addPropertyListener //                opposite of field bound =(
-         (new MethodBoundPropertyListener(this, propertyName, name));
-   }
-
-   /**
-    * Creates a {@link MethodBoundPropertyListener} for the method and
-    * property name and adds it the underlying property group.
-    *
-    * @param name    The method name and property to bind values to.
-    *
-    * @throws IllegalArgumentException    Method of property name is null or 
-    *                                     empty.
-    */
-   protected void bindMethod(final String name) {
-      bindMethod(name, name);
-   }
-
-   private String makeName(final String name) {
-      return groupname + "." + name;
-   }
-
-   protected void throwException(final String name) 
-      throws PropertyException
-   {
-      throw new PropertyException(makeName(name));
-   }
-
-   protected void throwException(final String name, final String msg) 
-      throws PropertyException
-   {
-      throw new PropertyException(makeName(name) + ": " + msg);
-   }
-
-   protected void throwException(final String name, final String msg, final Throwable nested)
-      throws PropertyException
-   {
-      throw new PropertyException(makeName(name) + ": " + msg, nested);
-   }
-
-   protected void throwException(final String name, final Throwable nested)
-      throws PropertyException
-   {
-      throw new PropertyException(makeName(name), nested);
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyContainer.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/property/PropertyContainer.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyContainer.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyContainer.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,160 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.property;
+
+import java.util.Properties;
+
+/**
+ * Provides helper methods for working with instance or class properties.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class PropertyContainer
+   extends PropertyMap
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -3347198703863412326L;
+   /** The group name for this container. */
+   protected String groupname = "<unknown>";
+
+   /**
+    * Initialize the container with a property group.
+    * @param props 
+    */
+   public PropertyContainer(final Properties props) {
+      super(props);
+   }
+
+   /**
+    * Initialize the container with a property group of the given name.
+    *
+    * @param groupname  Property group name.
+    */
+   public PropertyContainer(final String groupname) {
+      this(Property.getGroup(groupname));
+      this.groupname = groupname;
+   }
+
+   /**
+    * Initialize the container with a property group of the given class name.
+    *
+    * @param type    The class whos name will be the property group name.
+    */
+   public PropertyContainer(final Class<?> type) {
+      this(type.getName());
+   }
+   
+   /**
+    * Creates a {@link FieldBoundPropertyListener} for the field and
+    * property name and adds it the underlying property group.
+    *
+    * @param name          The field name to bind values to.
+    * @param propertyName  The property name to bind to.
+    *
+    * @throws IllegalArgumentException    Field of property name is null or 
+    *                                     empty.
+    */
+   protected void bindField(final String name, final String propertyName) {
+      if (name == null || name.equals(""))
+         throw new IllegalArgumentException("name");
+      if (propertyName == null || propertyName.equals(""))
+         throw new IllegalArgumentException("propertyName");
+
+      addPropertyListener
+         (new FieldBoundPropertyListener(this, name, propertyName));
+   }
+
+   /**
+    * Creates a {@link FieldBoundPropertyListener} for the field and
+    * property name and adds it the underlying property group.
+    *
+    * @param name    The field name and property to bind values to.
+    *
+    * @throws IllegalArgumentException    Field of property name is null or 
+    *                                     empty.
+    */
+   protected void bindField(final String name) {
+      bindField(name, name);
+   }
+
+   /**
+    * Creates a {@link MethodBoundPropertyListener} for the method and
+    * property name and adds it the underlying property group.
+    *
+    * @param name          The method name to bind values to.
+    * @param propertyName  The property name to bind to.
+    *
+    * @throws IllegalArgumentException    Method of property name is null or 
+    *                                     empty.
+    */
+   protected void bindMethod(final String name, final String propertyName) {
+      if (name == null || name.equals(""))
+         throw new IllegalArgumentException("name");
+      if (propertyName == null || propertyName.equals(""))
+         throw new IllegalArgumentException("propertyName");
+
+      addPropertyListener //                opposite of field bound =(
+         (new MethodBoundPropertyListener(this, propertyName, name));
+   }
+
+   /**
+    * Creates a {@link MethodBoundPropertyListener} for the method and
+    * property name and adds it the underlying property group.
+    *
+    * @param name    The method name and property to bind values to.
+    *
+    * @throws IllegalArgumentException    Method of property name is null or 
+    *                                     empty.
+    */
+   protected void bindMethod(final String name) {
+      bindMethod(name, name);
+   }
+
+   private String makeName(final String name) {
+      return groupname + "." + name;
+   }
+
+   protected void throwException(final String name) 
+      throws PropertyException
+   {
+      throw new PropertyException(makeName(name));
+   }
+
+   protected void throwException(final String name, final String msg) 
+      throws PropertyException
+   {
+      throw new PropertyException(makeName(name) + ": " + msg);
+   }
+
+   protected void throwException(final String name, final String msg, final Throwable nested)
+      throws PropertyException
+   {
+      throw new PropertyException(makeName(name) + ": " + msg, nested);
+   }
+
+   protected void throwException(final String name, final Throwable nested)
+      throws PropertyException
+   {
+      throw new PropertyException(makeName(name), nested);
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyError.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/property/PropertyError.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyError.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,74 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.property;
-
-import org.jboss.util.NestedError;
-
-/**
- * Thrown to indicate a fatal problem with the property system.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class PropertyError
-   extends NestedError
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /**
-    * Construct a <tt>PropertyError</tt> with the specified detail 
-    * message.
-    *
-    * @param msg  Detail message.
-    */
-   public PropertyError(String msg) {
-      super(msg);
-   }
-
-   /**
-    * Construct a <tt>PropertyError</tt> with the specified detail 
-    * message and nested <tt>Throwable</tt>.
-    *
-    * @param msg     Detail message.
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public PropertyError(String msg, Throwable nested) {
-      super(msg, nested);
-   }
-
-   /**
-    * Construct a <tt>PropertyError</tt> with the specified
-    * nested <tt>Throwable</tt>.
-    *
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public PropertyError(Throwable nested) {
-      super(nested);
-   }
-
-   /**
-    * Construct a <tt>PropertyError</tt> with no detail.
-    */
-   public PropertyError() {
-      super();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyError.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/property/PropertyError.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyError.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyError.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,74 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.property;
+
+import org.jboss.util.NestedError;
+
+/**
+ * Thrown to indicate a fatal problem with the property system.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class PropertyError
+   extends NestedError
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -4956548740655706282L;
+   /**
+    * Construct a <tt>PropertyError</tt> with the specified detail 
+    * message.
+    *
+    * @param msg  Detail message.
+    */
+   public PropertyError(String msg) {
+      super(msg);
+   }
+
+   /**
+    * Construct a <tt>PropertyError</tt> with the specified detail 
+    * message and nested <tt>Throwable</tt>.
+    *
+    * @param msg     Detail message.
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public PropertyError(String msg, Throwable nested) {
+      super(msg, nested);
+   }
+
+   /**
+    * Construct a <tt>PropertyError</tt> with the specified
+    * nested <tt>Throwable</tt>.
+    *
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public PropertyError(Throwable nested) {
+      super(nested);
+   }
+
+   /**
+    * Construct a <tt>PropertyError</tt> with no detail.
+    */
+   public PropertyError() {
+      super();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyEvent.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/property/PropertyEvent.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyEvent.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,109 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.property;
-
-import java.util.EventObject;
-
-import org.jboss.util.NullArgumentException;
-
-/**
- * A property event.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class PropertyEvent
-   extends EventObject
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /** Property name. */
-   protected final String name;
-
-   /** Property value. */
-   protected final String value;
-
-   /**
-    * Construct a new <tt>PropertyEvent</tt>.
-    *
-    * @param source  The source of the event.
-    * @param name    The property name effected.
-    * @param value   The value of the property effected.
-    *
-    * @throws NullArgumentException    Name or source is <tt>null</tt>.
-    */
-   public PropertyEvent(final Object source,
-                        final String name,
-                        final String value)
-   {
-      super(source);
-
-      if (name == null)
-         throw new NullArgumentException("name");
-      // value can be null
-
-      this.name = name;
-      this.value = value;
-   }
-
-   /**
-    * Construct a new <tt>PropertyEvent</tt>.
-    *
-    * @param source  The source of the event.
-    * @param name    The property name effected.
-    *
-    * @throws NullArgumentException    Name or source is <tt>null</tt>.
-    */
-   public PropertyEvent(Object source, String name) {
-      this(source, name, null);
-   }
-
-   /**
-    * Get the name of the property that is effected.
-    *
-    * @return     Property name.
-    */
-   public final String getPropertyName() {
-      return name;
-   }
-
-   /**
-    * Get the value of the property that is effected.
-    *
-    * @return  The value of the property that is effected or <tt>null</tt>.
-    */
-   public final String getPropertyValue() {
-      return value;
-   }
-
-   /**
-    * Return a string representation of this event.
-    *
-    * @return  A string representation of this event.
-    */
-   public String toString() {
-      return super.toString() + 
-         "{ name=" + name +
-         ", value=" + value +
-         " }";
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyEvent.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/property/PropertyEvent.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyEvent.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyEvent.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,109 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.property;
+
+import java.util.EventObject;
+
+import org.jboss.util.NullArgumentException;
+
+/**
+ * A property event.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class PropertyEvent
+   extends EventObject
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -5007209897739884086L;
+   /** Property name. */
+   protected final String name;
+
+   /** Property value. */
+   protected final String value;
+
+   /**
+    * Construct a new <tt>PropertyEvent</tt>.
+    *
+    * @param source  The source of the event.
+    * @param name    The property name effected.
+    * @param value   The value of the property effected.
+    *
+    * @throws NullArgumentException    Name or source is <tt>null</tt>.
+    */
+   public PropertyEvent(final Object source,
+                        final String name,
+                        final String value)
+   {
+      super(source);
+
+      if (name == null)
+         throw new NullArgumentException("name");
+      // value can be null
+
+      this.name = name;
+      this.value = value;
+   }
+
+   /**
+    * Construct a new <tt>PropertyEvent</tt>.
+    *
+    * @param source  The source of the event.
+    * @param name    The property name effected.
+    *
+    * @throws NullArgumentException    Name or source is <tt>null</tt>.
+    */
+   public PropertyEvent(Object source, String name) {
+      this(source, name, null);
+   }
+
+   /**
+    * Get the name of the property that is effected.
+    *
+    * @return     Property name.
+    */
+   public final String getPropertyName() {
+      return name;
+   }
+
+   /**
+    * Get the value of the property that is effected.
+    *
+    * @return  The value of the property that is effected or <tt>null</tt>.
+    */
+   public final String getPropertyValue() {
+      return value;
+   }
+
+   /**
+    * Return a string representation of this event.
+    *
+    * @return  A string representation of this event.
+    */
+   public String toString() {
+      return super.toString() + 
+         "{ name=" + name +
+         ", value=" + value +
+         " }";
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/property/PropertyException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,75 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.property;
-
-import org.jboss.util.NestedRuntimeException;
-
-/**
- * This exception is thrown to indicate a non-fatal problem with the 
- * property system.
- *
- * @version <tt>$Revision$</tt>
- * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
- */
-public class PropertyException
-   extends NestedRuntimeException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   /**
-    * Construct a <tt>PropertyException</tt> with the specified detail 
-    * message.
-    *
-    * @param msg  Detail message.
-    */
-   public PropertyException(String msg) {
-      super(msg);
-   }
-
-   /**
-    * Construct a <tt>PropertyException</tt> with the specified detail 
-    * message and nested <tt>Throwable</tt>.
-    *
-    * @param msg     Detail message.
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public PropertyException(String msg, Throwable nested) {
-      super(msg, nested);
-   }
-
-   /**
-    * Construct a <tt>PropertyException</tt> with the specified
-    * nested <tt>Throwable</tt>.
-    *
-    * @param nested  Nested <tt>Throwable</tt>.
-    */
-   public PropertyException(Throwable nested) {
-      super(nested);
-   }
-
-   /**
-    * Construct a <tt>PropertyException</tt> with no detail.
-    */
-   public PropertyException() {
-      super();
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/property/PropertyException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/property/PropertyException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,75 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.property;
+
+import org.jboss.util.NestedRuntimeException;
+
+/**
+ * This exception is thrown to indicate a non-fatal problem with the 
+ * property system.
+ *
+ * @version <tt>$Revision$</tt>
+ * @author  <a href="mailto:jason at planet57.com">Jason Dillon</a>
+ */
+public class PropertyException
+   extends NestedRuntimeException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 452085442436956822L;
+   /**
+    * Construct a <tt>PropertyException</tt> with the specified detail 
+    * message.
+    *
+    * @param msg  Detail message.
+    */
+   public PropertyException(String msg) {
+      super(msg);
+   }
+
+   /**
+    * Construct a <tt>PropertyException</tt> with the specified detail 
+    * message and nested <tt>Throwable</tt>.
+    *
+    * @param msg     Detail message.
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public PropertyException(String msg, Throwable nested) {
+      super(msg, nested);
+   }
+
+   /**
+    * Construct a <tt>PropertyException</tt> with the specified
+    * nested <tt>Throwable</tt>.
+    *
+    * @param nested  Nested <tt>Throwable</tt>.
+    */
+   public PropertyException(Throwable nested) {
+      super(nested);
+   }
+
+   /**
+    * Construct a <tt>PropertyException</tt> with no detail.
+    */
+   public PropertyException() {
+      super();
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/state/IllegalTransitionException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/state/IllegalTransitionException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/state/IllegalTransitionException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.util.state;
-
-/** An exception thrown when an invalid transition is attempted from a state.
- * 
- * @author Scott.Stark at jboss.org
- * @version $Revision$
- */
-public class IllegalTransitionException extends Exception
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   public IllegalTransitionException(String msg)
-   {
-      super(msg);
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/state/IllegalTransitionException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/state/IllegalTransitionException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/state/IllegalTransitionException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/state/IllegalTransitionException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.util.state;
+
+/** An exception thrown when an invalid transition is attempted from a state.
+ * 
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class IllegalTransitionException extends Exception
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -3392564168782896452L;
+   public IllegalTransitionException(String msg)
+   {
+      super(msg);
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/StartTimeoutException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/threadpool/StartTimeoutException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/StartTimeoutException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,70 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.threadpool;
-
-/**
- * The start timeout was exceeded.
- *
- * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
- * @version $Revision$
- */
-public class StartTimeoutException extends RuntimeException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   // Constants -----------------------------------------------------
-
-   // Attributes ----------------------------------------------------
-
-   // Static --------------------------------------------------------
-
-   // Constructors --------------------------------------------------
-
-   /**
-    * Create a new StartTimeoutException
-    */
-   public StartTimeoutException()
-   {
-      super();
-   }
-
-   /**
-    * Create a new StartTimeoutException
-    *
-    * @param message the message
-    */
-   public StartTimeoutException(String message)
-   {
-      super(message);
-   }
-
-   // Public --------------------------------------------------------
-
-
-   // Package protected ---------------------------------------------
-
-   // Protected -----------------------------------------------------
-
-   // Private -------------------------------------------------------
-
-   // Inner classes -------------------------------------------------
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/StartTimeoutException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/threadpool/StartTimeoutException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/StartTimeoutException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/StartTimeoutException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,70 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.threadpool;
+
+/**
+ * The start timeout was exceeded.
+ *
+ * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
+ * @version $Revision$
+ */
+public class StartTimeoutException extends RuntimeException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 2287779538710535096L;
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   /**
+    * Create a new StartTimeoutException
+    */
+   public StartTimeoutException()
+   {
+      super();
+   }
+
+   /**
+    * Create a new StartTimeoutException
+    *
+    * @param message the message
+    */
+   public StartTimeoutException(String message)
+   {
+      super(message);
+   }
+
+   // Public --------------------------------------------------------
+
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/TaskStoppedException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/threadpool/TaskStoppedException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/TaskStoppedException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,70 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.threadpool;
-
-/**
- * The task was stopped.
- *
- * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
- * @version $Revision$
- */
-public class TaskStoppedException extends RuntimeException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   // Constants -----------------------------------------------------
-
-   // Attributes ----------------------------------------------------
-
-   // Static --------------------------------------------------------
-
-   // Constructors --------------------------------------------------
-
-   /**
-    * Create a new TaskStoppedException
-    */
-   public TaskStoppedException()
-   {
-      super();
-   }
-
-   /**
-    * Create a new TaskStoppedException
-    *
-    * @param message the message
-    */
-   public TaskStoppedException(String message)
-   {
-      super(message);
-   }
-
-   // Public --------------------------------------------------------
-
-
-   // Package protected ---------------------------------------------
-
-   // Protected -----------------------------------------------------
-
-   // Private -------------------------------------------------------
-
-   // Inner classes -------------------------------------------------
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/TaskStoppedException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/threadpool/TaskStoppedException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/TaskStoppedException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/TaskStoppedException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,70 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.threadpool;
+
+/**
+ * The task was stopped.
+ *
+ * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
+ * @version $Revision$
+ */
+public class TaskStoppedException extends RuntimeException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -5166095239829218680L;
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   /**
+    * Create a new TaskStoppedException
+    */
+   public TaskStoppedException()
+   {
+      super();
+   }
+
+   /**
+    * Create a new TaskStoppedException
+    *
+    * @param message the message
+    */
+   public TaskStoppedException(String message)
+   {
+      super(message);
+   }
+
+   // Public --------------------------------------------------------
+
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolFullException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/threadpool/ThreadPoolFullException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolFullException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,63 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.threadpool;
-
-/**
- * The thread pool is full.
- *
- * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
- * @version $Revision$
- */
-public class ThreadPoolFullException extends RuntimeException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-
-   /**
-    * Create a new ThreadPoolFullException
-    */
-   public ThreadPoolFullException()
-   {
-      super();
-   }
-
-   /**
-    * Create a new ThreadPoolFullException
-    *
-    * @param message the message
-    */
-   public ThreadPoolFullException(String message)
-   {
-      super(message);
-   }
-   
-   /**
-    * Create a new ThreadPoolFullException.
-    * 
-    * @param message the message
-    * @param t the throwable
-    */
-   public ThreadPoolFullException(String message, Throwable t)
-   {
-      super(message, t);
-   }
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolFullException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/threadpool/ThreadPoolFullException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolFullException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolFullException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,63 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.threadpool;
+
+/**
+ * The thread pool is full.
+ *
+ * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
+ * @version $Revision$
+ */
+public class ThreadPoolFullException extends RuntimeException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -1044683480627340299L;
+
+   /**
+    * Create a new ThreadPoolFullException
+    */
+   public ThreadPoolFullException()
+   {
+      super();
+   }
+
+   /**
+    * Create a new ThreadPoolFullException
+    *
+    * @param message the message
+    */
+   public ThreadPoolFullException(String message)
+   {
+      super(message);
+   }
+   
+   /**
+    * Create a new ThreadPoolFullException.
+    * 
+    * @param message the message
+    * @param t the throwable
+    */
+   public ThreadPoolFullException(String message, Throwable t)
+   {
+      super(message, t);
+   }
+}

Deleted: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolStoppedException.java
===================================================================
--- common-core/trunk/src/main/java/org/jboss/util/threadpool/ThreadPoolStoppedException.java	2008-04-06 05:06:28 UTC (rev 2799)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolStoppedException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -1,70 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.util.threadpool;
-
-/**
- * The thread pool was stopped.
- *
- * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
- * @version $Revision$
- */
-public class ThreadPoolStoppedException extends RuntimeException
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 1L;
-   // Constants -----------------------------------------------------
-
-   // Attributes ----------------------------------------------------
-
-   // Static --------------------------------------------------------
-
-   // Constructors --------------------------------------------------
-
-   /**
-    * Create a new ThreadPoolStoppedException
-    */
-   public ThreadPoolStoppedException()
-   {
-      super();
-   }
-
-   /**
-    * Create a new ThreadPoolStoppedException
-    *
-    * @param message the message
-    */
-   public ThreadPoolStoppedException(String message)
-   {
-      super(message);
-   }
-
-   // Public --------------------------------------------------------
-
-
-   // Package protected ---------------------------------------------
-
-   // Protected -----------------------------------------------------
-
-   // Private -------------------------------------------------------
-
-   // Inner classes -------------------------------------------------
-}

Copied: common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolStoppedException.java (from rev 2800, common-core/trunk/src/main/java/org/jboss/util/threadpool/ThreadPoolStoppedException.java)
===================================================================
--- common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolStoppedException.java	                        (rev 0)
+++ common-core/tags/2.2.5.beta1/src/main/java/org/jboss/util/threadpool/ThreadPoolStoppedException.java	2008-04-06 20:20:44 UTC (rev 2803)
@@ -0,0 +1,70 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.util.threadpool;
+
+/**
+ * The thread pool was stopped.
+ *
+ * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
+ * @version $Revision$
+ */
+public class ThreadPoolStoppedException extends RuntimeException
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 8732248855455909385L;
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   /**
+    * Create a new ThreadPoolStoppedException
+    */
+   public ThreadPoolStoppedException()
+   {
+      super();
+   }
+
+   /**
+    * Create a new ThreadPoolStoppedException
+    *
+    * @param message the message
+    */
+   public ThreadPoolStoppedException(String message)
+   {
+      super(message);
+   }
+
+   // Public --------------------------------------------------------
+
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+}




More information about the jboss-svn-commits mailing list