@Override
    DataSerializer getSerializer() {
      synchronized (this) {
        while (!hasBeenSet) {
          try {
            wait(); // spurious wakeup ok
          } catch (InterruptedException ignored) {
            Thread.currentThread().interrupt();
            // Just return null, let it fail
            return null;
          }
        }
        return serializer;
      }
    }
Returns the serializer associated with this marker. Waits forever (unless interrupted) for it
to be initialized. Returns null if this Marker failed to initialize.
geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java