code: public Object create(String name, Object... args)
      throws ClassNotFoundException,
             NoSuchMethodException,
             IllegalAccessException,
             InstantiationException,
             InvocationTargetException
      {
          try {
              return super.create(name, args);
          } catch (NoSuchMethodException x) {
              Class<?> type = Class.forName(name);
              Object singleton = _singleton.get(name);
  
              if (singleton != null) {
                  return singleton;
              } else {
                  Object[] burnedin = _arguments.get(type);
                  if (burnedin != null) {
                      Object[] nargs = new Object[burnedin.length + args.length];
                      System.arraycopy(burnedin, 0, nargs, 0, burnedin.length);
                      System.arraycopy(args, 0, nargs, burnedin.length, args.length);
                      return Beans.create(type, nargs);
                  } else {
                      throw x;
                  }
              }
          }
      }
docs: Creates a new object of a given class with arguments.