boolean isAlreadyLogged(StackTraceElement[] stack)
	{
		HashStackTraceElement hse = new HashStackTraceElement(stack);
		// Ok, it's block the code, but for a small period
		synchronized (this)
		{
			// Detect with the precalculated hash value
			return !logged.add(hse);
		}
	}
boolean isAlreadyLogged(StackTraceElement[] stack)
	{
		HashStackTraceElement hse = new HashStackTraceElement(stack);
	
		synchronized (this)
		{
		
			return !logged.add(hse);
		}
	}
boolean isalreadylogged(stacktraceelement[] stack) { hashstacktraceelement hse = new hashstacktraceelement(stack); synchronized (this) { return !logged.add(hse); } }