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
	}
public synchronized void entering ( long fnr2 ) { int fnr = ( int ) fnr2 ; requesting ( fnr ) ; try { if ( ! instance . evaluatePP ( fnr ) . booleanValue ( ) ) { waiting ( fnr , + 1 ) ; while ( ! instance . evaluatePP ( fnr ) . booleanValue ( ) ) { this . wait ( ) ; } waiting ( fnr , - 1 ) ; } } catch ( InterruptedException e ) { } activating ( fnr ) ; }
This methods is used to enable the activation of a method.