code: def _validate_predict_data(self, data: Union[str, List[str]]) -> None:
      msg = f"The provided predict data should be a either a folder or a single/list of scan path(s). Found {data}."
      if not isinstance(data, str) and not isinstance(data, list):
          raise ValueError(msg)
  
      if isinstance(data, str) and (
          not isfile(data) or not isdir(data)
      ):
          raise ValueError(msg)
  
      if isinstance(data, list) and not all(isfile(p) for p in data):
          raise ValueError(msg)
  
imports: import os
  from os.path import basename, dirname, exists, isdir, isfile, join
  from typing import Any, Dict, List, Optional, Type, Union
  import yaml
  from flash.core.data.io.input import BaseDataFormat, Input
  from flash.core.utilities.imports import _TOPIC_POINTCLOUD_AVAILABLE
label_desc: Use image node_id 5 for calling the PointCloudObjectDetectorFoldersInput obj's underlying member method code with example usage: obj._validate_predict_data(data) without return types