code: public static int hash(int aSeed, Object aObject)
     {
        int result = aSeed;
        if (aObject == null)
        {
           result = org.jboss.ws.common.utils.HashCodeUtil.hash(result, 0);
        }
        else if (!org.jboss.ws.common.utils.HashCodeUtil.isArray(aObject))
        {
           result = org.jboss.ws.common.utils.HashCodeUtil.hash(result, aObject.hashCode());
        }
        else
        {
           int length = Array.getLength(aObject);
           for (int idx = 0; idx < length; ++idx)
           {
              Object item = Array.get(aObject, idx);
              //recursive call!
              result = org.jboss.ws.common.utils.HashCodeUtil.hash(result, item);
           }
        }
        return result;
     }
docs: <code>aObject</code> is a possibly-null object field, and possibly an array.
  
  If <code>aObject</code> is an array, then each element may be a primitive
  or a possibly-null object.