See `brooklyn.util.javalang.Reflections` for lots of this type of thing