The catch(Exception e) clause near the end of
EpicCgiHandler.respond does not provide any clue about
what went wrong. Including stack traces in logged error
messages is a general rule of thumb. Outputting e.getMessage()
is not sufficient (e.getMessage() returns null for any
NullPointerException - not quite helpful to track it down).
I noticed that you have more of such useless catch clauses
spread around the code, so this seems a general QA issue
for EPIC (and many, many other projects, to be fair).
Note that System.out is not appropriate way of logging in
Eclipse plugins, your typical user will not ever see any of
the messages written to System.out.