code: def wrap_function_cols(self, name, package_name=None, object_name=None, java_class_instance=None, doc=""):
          
          def _(*cols):
              jcontainer = self.get_java_container(package_name=package_name, object_name=object_name, java_class_instance=java_class_instance)
              # Ensure that your argument is a column
              col_args = [col._jc if isinstance(col, Column) else _make_col(col)._jc for col in cols]
              function = getattr(jcontainer, name)
              args = col_args
              jc = function(*args)
              return Column(jc)
          _.__name__ = name
          _.__doc__ = doc
          return _
docs: Utility method for wrapping a scala/java function that returns a spark sql Column.
  
          This assumes that the function that you are wrapping takes a list of spark sql Column objects as its arguments.