type* variable;\
{\
XMLNamespaces* xmlns = sbmlns->getNamespaces();\
variable = dynamic_cast<type*>(sbmlns);\
if (variable == NULL)\
{\
try\
{\
variable = new type(sbmlns->getLevel(), sbmlns->getVersion(), version);\
}\
catch (SBMLExtensionException e)\
{\
variable = new type(sbmlns->getLevel(), 1, version);\
}\
for (int i = 0; i < xmlns->getNumNamespaces(); i++)\
{\
if (!variable->getNamespaces()->hasURI(xmlns->getURI(i)))\
variable->getNamespaces()->add(xmlns->getURI(i), xmlns->getPrefix(i));\
}\
}\
else { variable = new type(*variable); }\
}