Github user pnowojski commented on the issue:
https://github.com/apache/flink/pull/6231
Nope, you are not quite correct. This:
```
def this() = this(null) //scala
```
translates to
```
CompositeTypeSerializerConfigSnapshot(null);
```
But because of varargs usages in `public
CompositeTypeSerializerConfigSnapshot(TypeSerializer<?>... nestedSerializers)`,
you get in this constructor one element array containing single null value.
If there was
```
def this() = this(null, null, null) //in scala
CompositeTypeSerializerConfigSnapshot(null, null, null); // or in java
```
`nestedSerializers` array would have three null elements.
Never the less I still do not think this is a good fix. Instead of
supporting and handling nulls in `CompositeTypeSerializerConfigSnapshot`
constructor (ugly and dangerous), default constructor of
`CRowSerializerConfigSnapshot` should invoke default constructor of
`CompositeTypeSerializerConfigSnapshot`.
---