ArrayStoreException inexplicable - Código o problema de configuración

ntento depurar una aplicación que funciona correctamente cuando se prueba localmente en una máquina con Windows XP (versión 5.1, compilación 2600 Service Pack 3) a través de Websphere Platform 6.1 que ejecuta la versión 1.5 de java.

Esta aplicación está lanzando una ArrayStoreException cuando se implementa en servidores UNIX (SunOS, versión 5.10) que ejecuta la versión 1.5.0_24 de Java.

e estoy inclinando a que esto sea un problema de configuración del entorno, pero (aparte de que funciona localmente) parece que no puedo confirmar que sea un problema de configuración.

Abajo están laslog messages que se agregaron al código para solucionar problemas. Como se señaló en los registros, el código intenta agregar unaPerfi objeto a una matriz de tipoPerfi. No veo por qué eso no estaría funcionando.

CollectionUtility.searchMapmsg = ZZZZZ Capturado ArrayStoreException ZZZZZ

CollectionUtility.searchMap | msg = ZZZZZ No se puede agregar un elemento de lista a la matriz de tipo [Lcom.process.im.profile.impl.Profile; ZZZZZ

CollectionUtility.searchMap | msg = ZZZZZ List [0] es la clase com.process.im.profile.impl.Profile, toString () = com.process.im.profile.impl.Profile mId = 4, mLongName = contando ZZZZZ

Abajo esta eljava code que está produciendo el error

public static Object[] searchMap(Map m, Object[] keys, Object[] a)
{
    if (keys != null && a != null)
    {
        List<Object> l = new ArrayList<Object>(keys.length);

        searchMap(m, keys, l, true, null);

        try
        {
            a = l.toArray(a);

        }
        catch (ArrayStoreException eArrayStore)
        {
            Log.warning("CollectionUtility.searchMap", "ZZZZZ Caught ArrayStoreException ZZZZZ", 0);

            if(l==null)
            {
                Log.warning("CollectionUtility.searchMap", "ZZZZZ Core CollectionUtility ZZZZZ null list.", 0);
            }
            else
            {
                for(int i=0; i<l.size(); i++)
                {
                    Object bug = l.get(i);

                    if(bug==null)
                    {
                        Log.warning("CollectionUtility.searchMap", "ZZZZZ List[" + i + "] is null ZZZZZ", 0);
                    }
                    else
                    {
                        if (a!=null && !a.getClass().getName().equals(bug.getClass().getName()))
                        {
                            Log.warning("CollectionUtility.searchMap", "ZZZZZ Unable to add list item to Array of type " + a.getClass().getName() + " ZZZZZ", 0);

                            Log.warning("CollectionUtility.searchMap", "ZZZZZ List[" + i + "] is class " + bug.getClass().getName() + ", toString()=" + bug.toString() + " ZZZZZ", 0);
                        }

                    }
                }
            }

            throw eArrayStore;

        }
    }

    return a;
}

Sé que es posible que me falte algo simple, pero no estoy seguro de qué verificar a continuación. Si alguno de ustedes tiene alguna idea, hágamelo saber. Cualquier ayuda es muy apreciada. ¡Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta