code: public String getSerializedName() {
      if (serializedName == null) {
        Optional<SerializedNameMirror> serializedNameAnnotation = SerializedNameMirror.find(element);
        if (serializedNameAnnotation.isPresent()) {
          SerializedNameMirror m = serializedNameAnnotation.get();
          serializedName = m.value();
          alternateSerializedNames = m.alternate();
          return serializedName;
        }
        Optional<NamedMirror> namedAnnotation = NamedMirror.find(element);
        if (namedAnnotation.isPresent()) {
          String value = namedAnnotation.get().value();
          if (!value.isEmpty()) {
            serializedName = value;
            return serializedName;
          }
        }
        Optional<OkNamedMirror> okNamedAnnotation = OkNamedMirror.find(element);
        if (okNamedAnnotation.isPresent()) {
          String value = okNamedAnnotation.get().name();
          if (!value.isEmpty()) {
            serializedName = value;
            return serializedName;
          }
        }
        if (isMarkedAsMongoId()) {
          serializedName = ID_ATTRIBUTE_NAME;
          return serializedName;
        }
        serializedName = "";
        return serializedName;
      }
      return serializedName;
    }
docs: Serialized name, actully specified via annotation
  @return name for JSON as overriden.