code: def finalize_options(self):
      if self.parallel:
          try:
              self.parallel = int(self.parallel)
          except ValueError:
              raise ValueError(
                  "--parallel/-j argument must be an integer"
              )
      old_build_clib.finalize_options(self)
      self.set_undefined_options("build", ("parallel", "parallel"))
  
file_path: catboost/contrib/python/numpy/py2/numpy/distutils/command/build_clib.py
imports: from __future__ import division, absolute_import, print_function
  import os
  from glob import glob
  import shutil
  from distutils.command.build_clib import build_clib
  from distutils.errors import DistutilsSetupError, DistutilsError, DistutilsFileError
  from numpy.distutils import log
  from distutils.dep_util import newer_group
  from numpy.distutils.misc_util import filter_sources, has_f_sources, has_cxx_sources, all_strings, get_lib_source_files, is_sequence, get_numpy_include_dirs
label_desc: Use image node_id 2 for calling the build_clib obj's underlying member method code with example usage: obj.finalize_options() without return types