code: def _with_boost(self, required=False):
      if required or self.options.with_boost == "auto":
          if self.options.gandiva:
              return True
          version = Version(self.version)
          if version.major == "1":
              if (
                  self._parquet()
                  and self.settings.compiler == "gcc"
                  and self.settings.compiler.version < Version("4.9")
              ):
                  return True
          elif version.major >= "2":
              if is_msvc(self):
                  return True
          return False
      else:
          return bool(self.options.with_boost)
  
imports: from conan import ConanFile
  from conan.errors import ConanInvalidConfiguration
  from conan.tools.microsoft import is_msvc_static_runtime, is_msvc, check_min_vs
  from conan.tools.files import export_conandata_patches, apply_conandata_patches, get, copy, rmdir
  from conan.tools.build import check_min_cppstd, cross_building
  from conan.tools.scm import Version
  from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
  import os
  import glob
label_desc: Use image node_id 20 for calling the ArrowConan obj's underlying member method code with example usage: obj._with_boost(required) and returns: False, bool, True, True, True