Do you have another recommendation as to how to achieve the goal?
Sorry no.
I have a general approach though you might try.
At first I am in information gathering mode. I mostly just want to
figure out how the tools work. So I trace, dump, look at source code,
packet sniff, write little throw-away apps that I keep changing until
I am fairly sure I understand the general lay of the land and what the
beasts' capabilities are.
I hate black boxes. I have a mental block against using something I
no model at all of what goes on inside. Once I get a reasonable,
though possibly false, internal model, then I can predict how it will
behave, rather than memorising specs and what appear to be irrational
behaviours.
Then I have a coffee or take a small break. For a real toughie, I go
outside for a walk. It is important NOT to have paper or computer
nearby. Then I compose the overall strategy to solve the problem,
without letting myself be overly concerned with precise details. The
thing I often come up with is an animation in my head of how it will
work under the hood. Objects look like ghostly rafts. Inner class
objects are like bulbous appendages.
Then I sit down and code. It just pours out pretty well as fast as I
can type. As long as my mental model is clear, the job is essentially
complete except for cleaning up syntax errors and various
miscellaneous gotchas.
If I that approach does not succeed, then I do a bottom up approach. I
start mentally designing tools that I think will likely be useful in
the solution. I sometimes actually code them. The advantage is it
stops my brain from nattering over details, freeing it to see the
bigger picture. Further it gives me abstraction tools to think about
the big picture.
There is a panic that sets in if I think I have bitten off a
programming task over my head. Just writing some simple code helps
reassure myself that the job is not impossible. The panic of course
creates a self-fulfilling prophesy. You can't solve difficult
problems when your mind is dwelling on how horrible it would be to
utterly fail.