Why can't I set breakpoints in some constructors?

VAJ generally supports setting breakpoints in constructors, but there are some situations where
it will refuse to set a constructor breakpoint on the exact line you want, or even at all.
The most common code situation that causes this behavior is one or more of the class's
instance variables are initialized at their declaration, such as this:

public class Foo {
private String bar = "foobar";
...
}

Another code pattern that might prohibit you from setting constructor breakpoints is the use of
instance initializer code, such as this:

public class Foo {
private String bar;
{
bar = "foobar";
...
}
...
}

If you avoid both of these types of code constructs, you should be able to set breakpoints in
constructors however you need to. But if for some reason you need the initializing code like
either of the above examples, there are a couple of workarounds:

Move most (if not all) of the code that is in your constructor(s) into an init() or initialize()
method that is then called by the constructor(s). This is a generally desirable pattern to
follow anyway, as it keeps your constructors simple and can help reduce code duplication.

Another option is to use the IBM-specific class DebugSupport to simulate a
breakpoint. Placing a call to