code: @SuppressWarnings("unchecked") // Explicit check for value class agreement
    public V createValue() {
      if (null == valueclass) {
        final Class<?> cls = kids[0].createValue().getClass();
        for (RecordReader<K,? extends V> rr : kids) {
          if (!cls.equals(rr.createValue().getClass())) {
            throw new ClassCastException("Child value classes fail to agree");
          }
        }
        valueclass = cls.asSubclass(Writable.class);
        ivalue = createInternalValue();
      }
      return (V) ReflectionUtils.newInstance(valueclass, null);
    }
docs: {@inheritDoc}