Cause the filter object to be evaluated instead of returning the object

The change you made on line 84 actually breaks functionality and any boolean expression written against the function to return true.  This is caused by the fact that the filter object itself is returned.  What you want is the following:

    list(filter(self._is_play_build, self._scala_build_files(folder)))

I've fixed it in this branch.