docstr: return a new config with fallback on config
  :param config: config or filename of the config to fallback on
  :param resolve: resolve substitutions
  :return: new config with fallback on config
docstr_tok: ["return","a","new","config","with","fallback","on","config",":","param","config",":","config","or","filename","of","the","config","to","fallback","on",":","param","resolve",":","resolve","substitutions",":","return",":","new","config","with","fallback","on","config"]
code: def with_fallback(self, config, resolve=True):
      """
      return a new config with fallback on config
      :param config: config or filename of the config to fallback on
      :param resolve: resolve substitutions
      :return: new config with fallback on config
      """
      if isinstance(config, ConfigTree):
          result = ConfigTree.merge_configs(
              copy.deepcopy(config), copy.deepcopy(self)
          )
      else:
          from . import ConfigFactory
  
          result = ConfigTree.merge_configs(
              ConfigFactory.parse_file(config, resolve=False),
              copy.deepcopy(self),
          )
  
      if resolve:
          from . import ConfigParser
  
          ConfigParser.resolve_substitutions(result)
      return result
  
imports: from collections import OrderedDict
  from pyparsing import lineno
  from pyparsing import col
  import re
  import copy
  from .exceptions import ConfigException, ConfigWrongTypeException, ConfigMissingException
label_desc: Use image node_id 19 for calling the ConfigTree obj's underlying member method code with example usage: obj.with_fallback(config, resolve) and returns: result