}
    public boolean desiredAssertionStatus() {        ClassLoader c = getClassLoader();        Object status;        if (c == null)            return VMClassLoader.defaultAssertionStatus();        if (c.classAssertionStatus != null)            synchronized (c) {                status = c.classAssertionStatus.get(getName());                if (status != null)                    return status.equals(Boolean.TRUE);            }        else {            status = ClassLoader.StaticData.systemClassAssertionStatus                    .get(getName());            if (status != null)                return status.equals(Boolean.TRUE);        }        if (c.packageAssertionStatus != null)            synchronized (c) {                String name = getPackagePortion(getName());                if ("".equals(name))                    status = c.packageAssertionStatus.get(null);                else                    do {                        status = c.packageAssertionStatus.get(name);                        name = getPackagePortion(name);                    } while (!"".equals(name) && status == null);                if (status != null)                    return status.equals(Boolean.TRUE);            }        else {            String name = getPackagePortion(getName());            if ("".equals(name))                status = ClassLoader.StaticData.systemPackageAssertionStatus                        .get(null);            else                do {                    status = ClassLoader.StaticData.systemPackageAssertionStatus                            .get(name);                    name = getPackagePortion(name);                } while (!"".equals(name) && status == null);            if (status != null)                return status.equals(Boolean.TRUE);        }        return c.defaultAssertionStatus;    }