Assert.isNotNull(b1); if (b1 == b2) return true; if (b2 == null) return false; String k1= b1.getKey(); String k2= b2.getKey(); if (k1 == null || k2 == null) return false; return k1.equals(k2);
boolean originalEquals= originalEquals(b1, b2); if (CHECK_CORE_BINDING_IS_EQUAL_TO) { boolean equalTo= !originalEquals; try { equalTo= b1.isEqualTo(b2); } catch (RuntimeException e) {  } if (equalTo != originalEquals) { String message= "Unexpected difference between Bindings.equals(..) and IBinding#isEqualTo(..)"; String detail= "\nb1 == " + b1.getKey() + ", b2 == " + (b2 == null ? "null binding" : b2.getKey()); JavaPlugin.logRepeatedMessage(message, detail); } } return originalEquals;
	public static boolean equals(IBinding b1, IBinding b2) {		Assert.isNotNull(b1);		if (b1 == b2)			return true;		if (b2 == null)			return false;				String k1= b1.getKey();		String k2= b2.getKey();		if (k1 == null || k2 == null)			return false;		return k1.equals(k2);	}