this.valueFactories = new ContextFactories();
// Create default factories if needed, or obtain new instances that use our ValueFactories (and
// NamespaceRegistry.Holder) instances ...
if (stringFactory == null) {
stringFactory = new StringValueFactory(this, decoder, encoder);
} else {
stringFactory = stringFactory.with(valueFactories).with(this);
}
if (binaryFactory == null) {
// The binary factory should NOT use the string factory that converts namespaces to prefixes ...
StringValueFactory stringFactoryWithoutNamespaces = new StringValueFactory(decoder, encoder);
binaryFactory = new BinaryStoreValueFactory(this.binaryStore, decoder, valueFactories, stringFactoryWithoutNamespaces);
} else {
binaryFactory = binaryFactory.with(binaryStore).with(valueFactories);
}
if (booleanFactory == null) {