code: def show_fields(self, block=None):
          mapping = self._mapping()
          if block is None:
              return mapping
          elif block == "top":
              blocks = set()
              for key in mapping.keys():
                  blocks.add(key.split(".")[0])
              block_map = {}
              for b in blocks:
                  block_map[b] = "object"
          else:
              block_map = {}
              for key, value in mapping.items():
                  if key.startswith(block):
                      block_map[key] = value
          return block_map