My argument for ``Predicate<Block>`` over ``Set<Material>``: by passing a predicate, the plugin gains the ability to determine transparency based on any property of the block.  E.g. my test plugin makes white stained glass transparent, but not other colours (admittedly using deprecated getData(), but one hopes a StainedGlass class will be added to Bukkit eventually).  With a ``Set<Material>``, you're limited to testing the block's material type, nothing else.