// Determine whether the the default property is being set to a single Array tag.
boolean isSingleArrayTag = false;
int n = contentUnits.size();
if (n == 1 && contentUnits.get(0) instanceof IMXMLTagData)
{
IMXMLTagData tag = (IMXMLTagData)contentUnits.get(0);
IDefinition definition = builder.getFileScope().resolveTagToDefinition(tag);
isSingleArrayTag = definition.getQualifiedName().equals(IASLanguageConstants.Array);
}
String instanceType = defaultPropertyDefinition.getInstanceType(project);
if (IASLanguageConstants.Array.equals(instanceType) && !isSingleArrayTag)
{
// Create an implicit array node.
childNode = new MXMLArrayNode(this);
((MXMLArrayNode)childNode).initializeDefaultProperty(
builder, defaultPropertyDefinition, contentUnits);
}
else if ((n == 1) && (!isSingleArrayTag))
{
IMXMLTagData tag = (IMXMLTagData)contentUnits.get(0);
IDefinition type = builder.getFileScope().resolveTagToDefinition(tag);
if (type instanceof ClassDefinition)
{
IClassDefinition tagClass = (IClassDefinition)type;
MXMLInstanceNode childInstanceNode = MXMLInstanceNode.createInstanceNode(builder, type.getQualifiedName(), this);