code: public static ISynchronizationPoint<NoException> getClassLoadingSP(String name) {
  		synchronized (classLoadingSP) {
  			Pair<Thread,JoinPoint<NoException>> p = classLoadingSP.get(name);
  			if (p == null) {
  				JoinPoint<NoException> jp = new JoinPoint<NoException>();
  				jp.addToJoin(1);
  				jp.start();
  				classLoadingSP.put(name, new Pair<Thread,JoinPoint<NoException>>(Thread.currentThread(), jp));
  				return null;
  			}
  			if (p.getValue1() == Thread.currentThread()) {
  				p.getValue2().addToJoin(1);
  				return null;
  			}
  			return p.getValue2();
  		}
  	}
docs: Get the synchronized object for loading the given class.