- final ContainerSchemaNode input = inputBuilder.build();
- final ContainerSchemaNode output = outputBuilder.build();
- instance.setInput(input);
- instance.setOutput(output);
-
- instance.setPath(schemaPath);
+ if (!isBuilt) {
+ final ContainerSchemaNode input = inputBuilder.build();
+ final ContainerSchemaNode output = outputBuilder.build();
+ instance.setInput(input);
+ instance.setOutput(output);
+
+ instance.setPath(schemaPath);
+
+ // TYPEDEFS
+ final Set<TypeDefinition<?>> typedefs = new HashSet<TypeDefinition<?>>();
+ for (TypeDefinitionBuilder entry : addedTypedefs) {
+ typedefs.add(entry.build());
+ }
+ instance.setTypeDefinitions(typedefs);