assertNotNull(resource);
final ResourceManager mgr = new ResourceManager();
mgr.registerDefaults();
final Resource loaded = mgr.createDirectly(resource, ElementStyleDefinition.class);
final ElementStyleDefinition style = (ElementStyleDefinition) loaded.getResource();
assertEquals(1, style.getRuleCount());
final ElementStyleSheet rule = style.getRule(0);
assertNotNull(rule);
rule.setStyleProperty(TextStyleKeys.ITALIC, Boolean.TRUE);
final ByteArrayOutputStream bout = new ByteArrayOutputStream();
final StyleDefinitionWriter writer = new StyleDefinitionWriter();
writer.write(bout, style);
Resource parsed = mgr.createDirectly(bout.toByteArray(), ElementStyleDefinition.class);
final ElementStyleDefinition parsedStyle = (ElementStyleDefinition) parsed.getResource();
assertEquals(1, parsedStyle.getRuleCount());
final ElementStyleSheet parsedRule = parsedStyle.getRule(0);
assertNotNull(parsedRule);
assertEquals(Boolean.TRUE, rule.getStyleProperty(TextStyleKeys.ITALIC));
}