code: def _failure_permitted(self, name):
      if name == "_parquet" and not self.with_parquet:
          return True
      if (
          name == "_parquet_encryption"
          and not self.with_parquet_encryption
      ):
          return True
      if name == "_orc" and not self.with_orc:
          return True
      if name == "_flight" and not self.with_flight:
          return True
      if name == "_substrait" and not self.with_substrait:
          return True
      if name == "_gcsfs" and not self.with_gcs:
          return True
      if name == "_s3fs" and not self.with_s3:
          return True
      if name == "_hdfs" and not self.with_hdfs:
          return True
      if name == "_dataset" and not self.with_dataset:
          return True
      if name == "_acero" and not self.with_acero:
          return True
      if name == "_exec_plan" and not self.with_acero:
          return True
      if name == "_dataset_orc" and not (
          self.with_orc and self.with_dataset
      ):
          return True
      if name == "_dataset_parquet" and not (
          self.with_parquet and self.with_dataset
      ):
          return True
      if name == "_cuda" and not self.with_cuda:
          return True
      if name == "gandiva" and not self.with_gandiva:
          return True
      return False
  
imports: import contextlib
  import os
  import os.path
  from os.path import join
  import re
  import shlex
  import sys
  import pkg_resources
  from setuptools import setup, Extension, Distribution, find_namespace_packages
  from Cython.Distutils import build_ext
  import Cython
label_desc: Use image node_id 5 for calling the build_ext obj's underlying member method code with example usage: obj._failure_permitted(name) and returns: False, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True