public static SmartObject newObject(String classname)
        throws SmartObjectException {
  try {
    SmartObject so = newObject(Class.forName(classname));
    prepare(so);
    load(so);
    return so;
  }
  catch (ClassNotFoundException cnfe) {
    throw new SmartObjectException(cnfe);
  }
}