if (invocation == null) {
return;
}
String signature = AstNodeUtils.getMethodSignature(invocation);
//
ComplexProperty complexProperty;
{
@SuppressWarnings("unchecked")
Map<String, ComplexProperty> complexProperties =
(Map<String, ComplexProperty>) widget.getArbitraryValue(this);
if (complexProperties == null) {
complexProperties = Maps.newTreeMap();
widget.putArbitraryValue(this, complexProperties);
}
complexProperty = complexProperties.get(title);
if (complexProperty == null) {
complexProperty = new ComplexProperty(title, "<properties>");
complexProperty.setCategory(PropertyCategory.system(10));
complexProperties.put(signature, complexProperty);
}
properties.add(complexProperty);
}
// update sub-properties
String[] propertyTitles = getLocationPropertyTitles(signature);
String title_1 = propertyTitles[0];
String title_3 = propertyTitles[1];
Property property_1 = new LocationValue_Property(title_1, invocation, 1);
Property property_1u = new LocationUnit_Property(title_1 + " unit", invocation, 2, horizontal);
Property property_3 = new LocationValue_Property(title_3, invocation, 3);
Property property_3u = new LocationUnit_Property(title_3 + " unit", invocation, 4, horizontal);
Property[] subProperties = new Property[]{property_1, property_1u, property_3, property_3u};
complexProperty.setProperties(subProperties);
}