if (singleton == null) singleton = new Provider ();
if (singleton == null) {  singleton = (Provider)AccessController.doPrivileged(new PrivilegedAction() { public Object run() { return new Provider(); } }); }
  public static synchronized Provider provider ()  {    if (singleton == null)      singleton = new Provider ();    return singleton;  }