if (stateObject.isDecorated()) {
toText(stateObject);
}
else {
AbstractDoubleEncapsulatedExpression expression = stateObject.getExpression();
// Identifier
appendIdentifier((expression != null) ? expression.getActualIdentifier() : stateObject.getIdentifier(), stateObject.getIdentifier());
// '('
if (shouldOutput(expression) || expression.hasLeftParenthesis()) {
writer.append(LEFT_PARENTHESIS);
}
else if (expression.hasSpaceAfterIdentifier()) {
writer.append(COMMA);
}
// First expression
if (stateObject.hasFirst()) {
stateObject.getFirst().accept(this);
}
// ','
if (shouldOutput(expression) || expression.hasComma()) {
writer.append(COMMA);
}
if (shouldOutput(expression) || expression.hasSpaceAfterComma()) {
writer.append(SPACE);
}
// Second expression
if (stateObject.hasSecond()) {
stateObject.getSecond().accept(this);
}
// ')'
if (shouldOutput(expression) || expression.hasRightParenthesis()) {
writer.append(RIGHT_PARENTHESIS);
}
}
}