try overriding canPathsBeAddedMethod(TreePath[]).it looks like they are checking each time before they do tree selection on tree.
the may be similar to this...
assuming you have some
string information{"a","b","c","d"} or some objects{a1,a2,a3}.
i haven't put down the code completely ...i guess ,it is understandable.
protected boolean canPathsBeSelected(TreePath paths[]){
for(int i=0;i<paths.length;i++){
if(paths[i].getObject().equals(one of u r objects) ||paths[i].getObject().getName().equals(one of your Strings)){
return false;
}else{
return super.canPathsBeSelected(paths[]);
}
}
}