in src/main/java/org/apache/sling/api/resource/ResourceUtil.java [724:744]
public static String createUniqueChildName(final Resource parent, final String name) throws PersistenceException {
if (parent.getChild(name) != null) {
// leaf node already exists, create new unique name
String childNodeName = null;
int i = 0;
do {
childNodeName = name + String.valueOf(i);
// just so that it does not run into an infinite loop
// this should not happen though :)
if (i == Integer.MAX_VALUE) {
String message =
MessageFormat.format("can not find a unique name {0} for {1}", name, parent.getPath());
throw new PersistenceException(message);
}
i++;
} while (parent.getChild(childNodeName) != null);
return childNodeName;
}
return name;
}