AbstractTreeNode (Project project, Object element, @NotNull ViewSettings viewSettings) { if (element instanceof UsageInfo) { return new UsageProjectTreeNode(project, (UsageInfo)element, viewSettings); } if (element instanceof InvalidUsageNoteNode) { return new InvalidUsageNoteProjectNode(project, (InvalidUsageNoteNode)element, viewSettings); } if (element instanceof NoteNode) { return new NoteProjectNode(project, (NoteNode)element, viewSettings); } if (element instanceof File) { return new FileGroupingProjectNode(project, (File)element, viewSettings); } return super.createNode(project, element, viewSettings); }