public UrinalStatus occupyUrinalVO( final int urinalPositionToOccupy ) {
		UrinalStatus status = urinalVOs.get( urinalPositionToOccupy ).getStatus();
		if( status == UrinalStatus.OCCUPIED )
			return UrinalStatus.OCCUPIED;
		else if( status == UrinalStatus.TRAPPED )
			return UrinalStatus.TRAPPED;
		else {
			urinalVOs.get( urinalPositionToOccupy ).setStatus( UrinalStatus.OCCUPIED );
			if( urinalCount()>2 ) {
				if( urinalPositionToOccupy == 0 || urinalPositionToOccupy == urinalCount()-1 ) {
					disarmToiletsBetweenPosMinAndPosMax( 0, urinalCount()-1 );
				} else {
					if (urinalVOs.get( urinalPositionToOccupy-1 ).getStatus().equals( UrinalStatus.FREE_SAVE ))
						urinalVOs.get( urinalPositionToOccupy-1 ).setStatus( UrinalStatus.TRAPPED );
					if (urinalVOs.get( urinalPositionToOccupy+1 ).getStatus().equals( UrinalStatus.FREE_SAVE ))
						urinalVOs.get( urinalPositionToOccupy+1 ).setStatus( UrinalStatus.TRAPPED );
					disarmToiletsToTheLeft( urinalPositionToOccupy );
					disArmToiletsToTheRight( urinalPositionToOccupy );
				}
			}
			return UrinalStatus.FREE_SAVE;
		}

	}