code: private synchronized boolean beginLookup(Map<String, String> pending, String name) {
      String canonical = pending.get(name);
      if (canonical != null) {
        do {
          try {
            canonical.wait();
          } catch (InterruptedException e) {}
        } while (pending.containsKey(name));
      }
      return (canonical == null);
    }
docs: Ensures that only one thread is calling the service to obtain the class
  digest or definition for a particular class name.
  @param pending The <code>Map</code> in which to store pending lookups.
  @param name The name of the class to be looked up.
  @return A value indicating whether the current thread is designated to
  perform the lookup.