@classmethod
def from_path(cls, spec_path, api_slug=None, extra_fields={}, template_path
    =None):
    """
        Instantiate an ApiDef instance only if we haven't done so already. This
        saves the trouble of fetching & parsing API specs more than once.
        """
    if spec_path in cls.cached_specs.keys():
        return cls.cached_specs[spec_path]
    apidef = cls(spec_path, api_slug=api_slug, extra_fields=extra_fields,
        template_path=template_path)
    cls.cached_specs[spec_path] = apidef
    return apidef
