code: public Map<FieldDescriptorType, Object> getAllFields() {
      if (hasLazyField) {
        SmallSortedMap<FieldDescriptorType, Object> result =
            SmallSortedMap.newFieldMap(16);
        for (int i = 0; i < fields.getNumArrayEntries(); i++) {
          cloneFieldEntry(result, fields.getArrayEntryAt(i));
        }
        for (Map.Entry<FieldDescriptorType, Object> entry :
            fields.getOverflowEntries()) {
          cloneFieldEntry(result, entry);
        }
        if (fields.isImmutable()) {
          result.makeImmutable();
        }
        return result;
      }
      return fields.isImmutable() ? fields : Collections.unmodifiableMap(fields);
    }
docs: Get a simple map containing all the fields.