Unexplained ArrayStoreException - problema de código ou configuração

Estou tentando depurar um aplicativo que está funcionando corretamente quando testado localmente em uma máquina Windows XP (versão 5.1 build 2600 Service Pack 3) através do Websphere Platform 6.1 executando a versão java 1.5.

Este aplicativo lança uma ArrayStoreException quando é implantada em servidores UNIX (SunOS, versão 5.10) executando a versão java 1.5.0_24.

Estou inclinado a tratar-se de um problema de configuração do ambiente, mas (exceto trabalhando localmente) não consigo confirmar se é um problema de configuraçã

Abaixo estão oslog messages que foram adicionados ao código para solucionar problemas. Conforme observado nos logs, o código está tentando adicionar umPerfi objeto para uma matriz do tipoPerfi. Não vejo por que isso não funcionari

CollectionUtility.searchMapmsg = ZZZZZ Capturado ArrayStoreException ZZZZZ

CollectionUtility.searchMap | msg = ZZZZZ Não foi possível adicionar o item da lista à Matriz do tipo [Lcom.process.im.profile.impl.Profile; ZZZZZ

CollectionUtility.searchMap | msg = Lista ZZZZZ [0] é da classe com.process.im.profile.impl.Profile, toString () = com.process.im.profile.impl.Profile mId = 4, mLongName = contando ZZZZZ

Bow é ojava code que está produzindo o erro

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;
}

Sei que posso estar perdendo algo simples, mas não sei ao certo o que verificar em seguida. Se algum de vocês tiver alguma idéia, entre em contato. Toda e qualquer ajuda é muito apreciada. Obrigado

questionAnswers(2)

yourAnswerToTheQuestion