public void setOutputDataDistribution(DataDistribution distribution, int outputNum) { this.config.setString(OUTPUT_DATA_DISTRIBUTION_CLASS, distribution.getClass().getName()); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); final DataOutputStream dos = new DataOutputStream(baos); try { distribution.write(dos); } catch (IOException e) { throw new RuntimeException("Error serializing the DataDistribution: " + e.getMessage(), e); } this.config.setBytes(OUTPUT_DATA_DISTRIBUTION_PREFIX + outputNum, baos.toByteArray()); }