def replace(self, options, source_entities):

        tools_path = [source.get() for source in source_entities]
        if not tools_path:
            return None

        finder = aql.FindFilesBuilder(options, '*.py')
        zipper = aql.ZipFilesBuilder(options,
                                     target=self.target,
                                     basedir=tools_path)

        tool_files = aql.Node(finder, source_entities)
        zip = aql.Node(zipper, tool_files)

        return zip