public PrecisionLab getPrecisionLab()
  {
	precisionLabLock.readLock().lock();
	if (precisionLabInstance == null)
	{
	  precisionLabLock.readLock().unlock();
	  precisionLabLock.writeLock().lock();
	  try
	  {
		if (precisionLabInstance == null)
		{
		  precisionLabInstance = createPrecisionLab();
		}
	  }
	  finally
	  {
		precisionLabLock.writeLock().unlock();
	  }
	}
	else
	{
	  precisionLabLock.readLock().unlock();
	}
	return precisionLabInstance;
  }