if (declaration.getExpression() == null)
return;
String key = toMergingPropertiesKey(declaration);
if (mergingProperties.containsKey(key)) {
Declaration previousDeclaration = mergingProperties.get(key);
Expression previousExpression = previousDeclaration.getExpression();
ListExpressionOperator.Operator mergeOperator = declaration.getMergeOperator();
Expression mergedExpression = mergeWithPrevious(declaration.getUnderlyingStructure(), previousExpression, mergeOperator, declaration.getExpression());
previousDeclaration.setExpression(mergedExpression);
mergedExpression.setParent(previousDeclaration);
manipulator.removeFromBody(declaration);
} else {
mergingProperties.put(key, declaration);
}
}