docs: public final MessageSerializer getDefaultSerializer() {
          // Construct a default serializer if we don't have one
          if (null == this.defaultSerializer) {
              // Don't grab a lock unless we absolutely need it
              synchronized(this) {
                  // Now we have a lock, double check there's still no serializer
                  // and create one if so.
                  if (null == this.defaultSerializer) {
                      // As the serializers are intended to be immutable, creating
                      // two due to a race condition should not be a problem, however
                      // to be safe we ensure only one exists for each network.
                      this.defaultSerializer = getSerializer(false);
                  }
              }
          }
          return defaultSerializer;
      }