code: def download_data(
      self, ticker_list, start_date, end_date, time_interval
  ) -> pd.DataFrame:
      df = self.processor.download_data(
          ticker_list=ticker_list,
          start_date=start_date,
          end_date=end_date,
          time_interval=time_interval,
      )
      return df
  
file_path: FinRL/finrl/meta/data_processor.py
imports: from __future__ import annotations
  import numpy
  import pandas
  from finrl.meta.data_processors.processor_alpaca import AlpacaProcessor
  from finrl.meta.data_processors.processor_wrds import WrdsProcessor
  from finrl.meta.data_processors.processor_yahoofinance import YahooFinanceProcessor
label_desc: Use image node_id 2 for calling the DataProcessor obj's underlying member method code with example usage: obj.download_data(ticker_list, start_date, end_date, time_interval) and returns: df