in java/com/google/devtools/bazel/e4b/wizard/DirectoryTreeContentProvider.java [194:216]
static ImmutableList<String> getSelectPathsRelativeToRoot(CheckboxTreeViewer tv) {
DirectoryTreeContentProvider provider = (DirectoryTreeContentProvider) tv.getContentProvider();
String root = provider.root.getAbsolutePath();
ImmutableList.Builder<String> builder = ImmutableList.builder();
for (Object element : tv.getCheckedElements()) {
if (!tv.getGrayed(element)) {
Object parent = provider.getParent(element);
if (parent == null || tv.getGrayed(parent)) {
// Only add this element if its parent is not selected (so it's the root).
String path = ((File) element).getAbsolutePath();
// Strip root from path
if (path.startsWith(root)) {
path = path.substring(root.length());
if (path.startsWith("/")) {
path = path.substring(1);
}
builder.add(path);
}
}
}
}
return builder.build();
}