(runtimeTest?" [with runtime test]":"")});
(runtimeTest?" [with runtime test]":"")}, advisedType, advisingType);
	private void reportWeavingMessage(ShadowMunger munger) {		Advice advice = (Advice)munger;		AdviceKind aKind = advice.getKind();		// Only report on interesting advice kinds ...		if (aKind == null || advice.getConcreteAspect()==null) {			// We suspect someone is programmatically driving the weaver 			// (e.g. IdWeaveTestCase in the weaver testcases)			return;		}		if (!( aKind.equals(AdviceKind.Before) ||		       aKind.equals(AdviceKind.After) ||		       aKind.equals(AdviceKind.AfterReturning) ||		       aKind.equals(AdviceKind.AfterThrowing) ||		       aKind.equals(AdviceKind.Around) ||		       aKind.equals(AdviceKind.Softener))) return;				String description = advice.getKind().toString();		String advisedType = this.getEnclosingType().getName();		String advisingType= advice.getConcreteAspect().getName();		Message msg = null;		if (advice.getKind().equals(AdviceKind.Softener)) {			msg = WeaveMessage.constructWeavingMessage(			  WeaveMessage.WEAVEMESSAGE_SOFTENS,			    new String[]{advisedType,beautifyLocation(getSourceLocation()),			    			 advisingType,beautifyLocation(munger.getSourceLocation())});		} else {			boolean runtimeTest = ((BcelAdvice)advice).hasDynamicTests();		    msg = WeaveMessage.constructWeavingMessage(WeaveMessage.WEAVEMESSAGE_ADVISES,			  new String[]{ advisedType, beautifyLocation(getSourceLocation()),				            description,				            advisingType,beautifyLocation(munger.getSourceLocation()),				            (runtimeTest?" [with runtime test]":"")});				         // Boolean.toString(runtimeTest)});		}		getIWorld().getMessageHandler().handleMessage(msg);	}