} else if (TYPE.KEY_.CREATE.equals(type)) {
PTObject ptObject;
final boolean isAddon = instruction.containsKey("addOnSignature");
if (isAddon) {
final String addOnSignature = instruction.getString("addOnSignature");
final AddonFactory addonFactory = addonByKey.get(addOnSignature);
if (addonFactory == null) { throw new Exception("UIBuilder: AddOn factory not found for signature: " + addOnSignature + ", available: " + addonByKey.keySet()); }
ptObject = addonFactory.newAddon();
if (ptObject == null) { throw new Exception("UIBuilder: Failed to instanciate an Addon of type: " + addOnSignature); }
ptObject.create(instruction, this);
} else {
ptObject = uiFactory.newUIObject(this, instruction);
ptObject.create(instruction, this);