ObjectName mbean = MBeanContainer.findMBean(r);
ObjectName mbean = _mbeanContainer.findMBean(r);
    public Object getAttribute(String name) throws AttributeNotFoundException, MBeanException, ReflectionException    {        if (Log.isDebugEnabled())            Log.debug("getAttribute " + name);        Method getter = (Method) _getters.get(name);        if (getter == null)            throw new AttributeNotFoundException(name);        try        {            Object o = _managed;            if (getter.getDeclaringClass().isInstance(this))                o = this; // mbean method                        // get the attribute            Object r=getter.invoke(o, (java.lang.Object[]) null);                        // convert to ObjectName if need be.            if (r!=null && _convert.contains(name))            {                if (r.getClass().isArray())                {                    ObjectName[] on = new ObjectName[Array.getLength(r)];                    for (int i=0;i<on.length;i++)                        on[i]=MBeanContainer.findMBean(Array.get(r, i));                    r=on;                }                else                {                    ObjectName mbean = MBeanContainer.findMBean(r);                    if (mbean==null)                        throw new IllegalStateException("cannot convert to ObjectName: "+r);                    r=mbean;                }            }            return r;        }        catch (IllegalAccessException e)        {            Log.warn(Log.EXCEPTION, e);            throw new AttributeNotFoundException(e.toString());        }        catch (InvocationTargetException e)        {            Log.warn(Log.EXCEPTION, e);            throw new ReflectionException((Exception) e.getTargetException());        }    }