String detail= "\nb1 == " + b1.getKey() + ", b2 == " + (b2 == null ? "null binding" : b2.getKey());
String detail= "\nb1 == " + b1.getKey() + ", b2 == " + (b2 == null ? "null binding" : b2.getKey()) + "\nb1.getJavaElement() == " + b1.getJavaElement() + ", b2.getJavaElement() == " + (b2 == null ? "null binding" : b2.getJavaElement().toString());
	public static boolean equals(IBinding b1, IBinding b2) {		boolean originalEquals= originalEquals(b1, b2);		if (CHECK_CORE_BINDING_IS_EQUAL_TO) {			boolean equalTo= !originalEquals;			try {				equalTo= b1.isEqualTo(b2);			} catch (RuntimeException e) {				//avoid endless dialog loop in OccurrencesFinder			}			if (equalTo != originalEquals) {				String message= "Unexpected difference between Bindings.equals(..) and IBinding#isEqualTo(..)"; //$NON-NLS-1$				String detail= "\nb1 == " + b1.getKey() + ", b2 == " + (b2 == null ? "null binding" : b2.getKey()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$				JavaPlugin.logRepeatedMessage(message, detail);			}		}		return originalEquals;	}