code: def _find_highest_supported_command(self, *segment_classes, **kwargs):
          
          return_parameter_segment = kwargs.get("return_parameter_segment", False)
  
          parameter_segment_name = "{}I{}S".format(segment_classes[0].TYPE[0], segment_classes[0].TYPE[2:])
          version_map = dict((clazz.VERSION, clazz) for clazz in segment_classes)
          max_version = self.bpd.find_segment_highest_version(parameter_segment_name, version_map.keys())
          if not max_version:
              raise FinTSUnsupportedOperation('No supported {} version found. I support {}, bank supports {}.'.format(
                  parameter_segment_name,
                  tuple(version_map.keys()),
                  tuple(v.header.version for v in self.bpd.find_segments(parameter_segment_name))
              ))
  
          if return_parameter_segment:
              return max_version, version_map.get(max_version.header.version)
          else:
              return version_map.get(max_version.header.version)
docs: Search the BPD for the highest supported version of a segment.