docs: @Override
      public Map<FieldDescriptor, Object> getAllFields() {
          TreeMap<FieldDescriptor, Object> result = new TreeMap<FieldDescriptor, Object>();
          for (final FieldDescriptor field : metadata.descriptor.getFields()) {
              if (hasField(field)) {
                  result.put(field, getField(field));
              }
          }
          return Collections.unmodifiableMap(result);
      }