def look_up_configured_path(path_type, options = {})
      return @cached_paths[path_type] if @cached_paths.has_key?(path_type)
      if user_defined_path = user_configured_path(path_type)
        if path_resolves?(user_defined_path, :file => options[:file])
          return user_defined_path
        else
          raise Bumbleworks::InvalidSetting, "#{Bumbleworks::Support.humanize(path_type)} not found (looked for #{user_defined_path || defaults.join(', ')})"
        end
      end

      first_existing_default_path(options[:defaults], :file => options[:file])
    end
def look_up_configured_path(path_type, options = {})
      return @cached_paths[path_type] if @cached_paths.has_key?(path_type)
      if user_defined_path = user_configured_path(path_type)
        if path_resolves?(user_defined_path, :file => options[:file])
          return user_defined_path
        else
          raise Bumbleworks::InvalidSetting, "#{Bumbleworks::Support.humanize(path_type)} not found (looked for #{user_defined_path || defaults.join(', ')})"
        end
      end

      first_existing_default_path(options[:defaults], :file => options[:file])
    end
If the user explicitly declared a path, raises an exception if the
 path was not found.  Missing default paths do not raise an exception
 since no paths are required.