if (classDef == null)
if (classDef == null && ! isStrict())
  private QuercusClass createClassImpl(String name)  {    /*    QuercusClass cl = null;    cl = _quercus.findClass(name);    if (cl != null)      return cl;    if (_page != null) {      cl = _page.findClass(name);      if (cl != null)	return cl;      if (_autoload == null)	_autoload = findFunction("__autoload");      if (_autoload != null) {	try {	  _autoload.call(this, new StringValueImpl(name));	} catch (Throwable e) {	  throw new RuntimeException(e);	}      }      return _classMap.get(name);    }    */    ClassDef classDef = _classDefMap.get(name);    if (classDef == null)      classDef = _lowerClassDefMap.get(name.toLowerCase());        if (classDef == null)      classDef = _page.findClass(name);    if (classDef != null) {      String parentName = classDef.getParentName();      QuercusClass parent = null;      if (parentName != null)        parent = getClass(parentName);      if (parent == null || parent instanceof QuercusClass)        return createQuercusClass(classDef, (QuercusClass) parent);      else        throw new IllegalStateException(parent.toString());    }    ClassDef staticClass = _quercus.findClass(name);    if (staticClass != null)      return createQuercusClass(staticClass, null); // XXX: cache    if (_autoload == null)      _autoload = findFunction("__autoload");    if (_autoload != null) {      try {        _autoload.call(this, new StringValueImpl(name));      }      catch (Throwable e) {        throw new RuntimeException(e);      }    }    return null;  }