class_docstr: SnapshotController inherits from BaseController and manages business logic related to snapshots
  
  Attributes
  ----------
  code : datmo.core.controller.code.code.CodeController
  file_collection : datmo.core.controller.file.file_collection.FileCollectionController
  environment : datmo.core.controller.environment.environment.EnvironmentController
  
  Methods
  -------
  create(dictionary)
      Create a snapshot within the project
  checkout(id)
      Checkout to a specific snapshot within the project
  list(visible=None, sort_key=None, sort_order=None)
      List all snapshots present within the project based on given filters
  delete(id)
      Delete the snapshot specified from the project
docstr: Checks for user inputs and uses the file collection controller to
  obtain the file collection id and create the necessary collection
  
  Parameters
  ----------
  incoming_dictionary : dict
      dictionary for the create function defined above
  create_dict : dict
      dictionary for creating the Snapshot entity
docstr_tok: ["Checks","for","user","inputs","and","uses","the","file","collection","controller","to","obtain","the","file","collection","id","and","create","the","necessary","collection","Parameters","--","--","--","--","--","incoming_dictionary",":","dict","dictionary","for","the","create","function","defined","above","create_dict",":","dict","dictionary","for","creating","the","Snapshot","entity"]
code: def _file_setup(self, incoming_dictionary, create_dict):
      """Checks for user inputs and uses the file collection controller to
      obtain the file collection id and create the necessary collection
  
      Parameters
      ----------
      incoming_dictionary : dict
          dictionary for the create function defined above
      create_dict : dict
          dictionary for creating the Snapshot entity
      """
  
      if "file_collection_id" in incoming_dictionary:
          create_dict["file_collection_id"] = incoming_dictionary[
              "file_collection_id"
          ]
      elif "paths" in incoming_dictionary:
          # transform file paths to file_collection_id
          create_dict[
              "file_collection_id"
          ] = self.file_collection_controller.create(
              incoming_dictionary["paths"]
          ).id
      else:
          # create some default file collection
          create_dict[
              "file_collection_id"
          ] = self.file_collection_controller.create([]).id
  
imports: import os
  from datmo.core.controller.base import BaseController
  from datmo.core.controller.code.code import CodeController
  from datmo.core.controller.file.file_collection import FileCollectionController
  from datmo.core.controller.environment.environment import EnvironmentController
  from datmo.core.entity.snapshot import Snapshot
  from datmo.core.util.i18n import get
  from datmo.core.util.validation import validate
  from datmo.core.util.json_store import JSONStore
  from datmo.core.util.exceptions import FileIOError, RequiredArgumentMissing, ProjectNotInitialized, EntityNotFound, TaskNotComplete, DoesNotExist, UnstagedChanges
label_desc: Use image node_id 14 for calling the SnapshotController obj's underlying member method code with example usage: obj._file_setup(incoming_dictionary, create_dict) without return types