ASTNode newReturnType= (ASTNode) getNewValue(node, property);
if (isConstructorChange || !returnTypeExists && newReturnType != originalReturnType) {
// use the start offset of the method name to insert
ASTNode originalMethodName= (ASTNode) getOriginalValue(node, MethodDeclaration.NAME_PROPERTY);
int nextStart= originalMethodName.getStartPosition(); // see bug 84049: can't use extended offset
TextEditGroup editGroup= getEditGroup(node, property);
if (isConstructor || !returnTypeExists) { // insert
doTextInsert(nextStart, newReturnType, getIndent(nextStart), true, editGroup);
doTextInsert(nextStart, " ", editGroup); //$NON-NLS-1$
} else { // remove up to the method name
int offset= getExtendedOffset(originalReturnType);