code: def _find_executables(self):
          
          if len(self.needs) > 0:
              return
          
          for execname, executable in list(self.module.executables.items()):
              skip = False
              #At the moment we can't handle executables that use special derived types.
              if not execname in self.module.publics or not executable.primitive:
                  msg.info("Skipping {}.{} because it is not public.".format(self.module.name, execname))
                  skip = True
              #Check that all the parameters have intent specified, otherwise we won't handle them well.ha
              if any([p.direction == "" for p in executable.ordered_parameters]):
                  msg.warn("Some parameters in {}.{} have no intent".format(self.module.name, execname) +
                           " specified. Can't wrap that executable.")
                  skip = True
      
              if not skip:
                  self.uses.append(execname)
                  for depmod in executable.search_dependencies():
                      if depmod not in self.needs:
                          self.needs.append(depmod)
docs: Finds the list of executables that pass the requirements necessary to have
          a wrapper created for them.