private static SmartObject newObject(Class aClass)
        throws SmartObjectException {
  try {
    SmartObject so;
    Class[] argTypes = new Class[0];
    Object[] args = new Object[0];
    Constructor c = aClass.getConstructor(argTypes);
    so = (SmartObject) c.newInstance(args);
    return so;
  }
  catch (Exception e) // Il peut s'agir de ClassCastException, NoSuchMethodException,
          // ou InstantiationException.
  {
    throw new SmartObjectException("Requested class " + aClass 
    + " is malformed or does not inherit from com.neo.smartobjects.SmartObject.", e);
  }
}

