if isinstance(case, str):
   return self.__fs_map[case]
elif isinstance(case, int) and 0 <= case < len(self):
  case_name = self.__fs_list[case]
  return self.__fs_map[case_name]
 else:
   raise IndexError("Value '%s' is not a proper index or case name." % case)