A quick note to your original problem since I just looked through 2.8.10 code.
Your problems mainly appear in two places, that is:
phex/host/CaughtHostsContainer.java
diff is here:
SourceForge.net Repository - [phex] Diff of /phex/tags/release-3.0.2.100/src/phex/host/CaughtHostsContainer.java
and
phex/download/swarming/SWDownloadFile.java
phex/common/file/ManagedFile.java
described in the change set:
SourceForge.net Repository - [phex] Revision 3569
It should be possible to backport the stuff to Java 1.4 when you just ignore the Java 5 specific changes.