When rules are dynamically loaded they are collected in a temporary ScriptRepository and checked one by one to see if they apply to any existing loaded classes. Any classes which match are sceduled for retransformation. The ScriptRepository code has to special case <init> and <clinit>rules as they don't actually appear under this name. Unfortunatelt, the current check compares the method name in the loaded script against the relevant literal string values using an == test. So, sometimes this comparison fails and the agent does not schedule the target class for a retransform.