String (DetectedJavaChangeInfo initialChangeInfo, final List<? super TextRange> deleteRanges, final List<? super TextRange> newRanges) { StringBuilder buf = new StringBuilder(); String visibility = VisibilityUtil.getVisibilityString(initialChangeInfo.getNewVisibility()); buf.append(visibility); if (!StringUtil.isEmptyOrSpaces(visibility)) { buf.append(" "); } CanonicalTypes.Type returnType = initialChangeInfo.getNewReturnType(); if (returnType != null) { buf.append(returnType.getTypeText()).append(" "); } buf.append(initialChangeInfo.getNewName()).append("("); JavaParameterInfo[] newParameters = initialChangeInfo.getNewParameters(); boolean first = true; boolean[] toRemove = initialChangeInfo.toRemoveParm(); for (int i = 0; i < toRemove.length; i++) { if (first) { first = false; } else { buf.append(", "); } String oldParamName = initialChangeInfo.getOldParameterNames()[i]; String oldParamType = initialChangeInfo.getOldParameterTypes()[i]; if (toRemove[i]) { String deletedParam = oldParamType + " " + oldParamName; deleteRanges.add(new TextRange(buf.length(), buf.length() + deletedParam.length())); buf.append(deletedParam); } else { for (JavaParameterInfo parameter : newParameters) { if (parameter.getOldIndex() == i) { buf.append(parameter.getTypeText()); buf.append(" "); if (!oldParamName.equals(parameter.getName())) { deleteRanges.add(new TextRange(buf.length(), buf.length() + oldParamName.length())); buf.append(oldParamName); } buf.append(parameter.getName()); break; } } } } for (JavaParameterInfo param : newParameters) { if (param.isNew()) { if (first) { first = false; } else { buf.append(", "); } String paramPresentation = param.getTypeText() + " " + ObjectUtils.notNull(param.getName(), ""); newRanges.add(new TextRange(buf.length(), buf.length() + paramPresentation.length())); buf.append(paramPresentation); } } buf.append(")"); return buf.toString(); }