code: public synchronized void entering(long fnr2)
  	{
  		int fnr = (int) fnr2; // Here the long value is casted into in to be used as index to the arrays.
  		requesting(fnr);// the #req counter is changed to add one to it.
  		try
  		{
  			if (!instance.evaluatePP(fnr).booleanValue()) // the first evaluation of the permition predicate.
  			{
  				waiting(fnr, +1);// if the permission predicate is false. It add one to the #waiting counter.
  				while (!instance.evaluatePP(fnr).booleanValue())// reevaluation of the permission predicate.
  				{
  					this.wait(); // actual thread wait method. This freeze the thread waiting for the execution of its
  									// method.
  				}
  				waiting(fnr, -1); // if predicate changes to true, #waiting is changed to remove one.
  			}
  		} catch (InterruptedException e)
  		{
  		}
  		activating(fnr);// the #act and the #active counters are change to add one to them
  	}
docs: This methods is used to enable the activation of a method.