@Override
 public void readExternal(Element element) throws InvalidDataException {
   readName(element);
   readProperties(element);
   readRoots(element);
   myJarDirectories.readExternal(element);
   myRootsWatcher.updateWatchedRoots();
 }
 LibraryImpl(LibraryTable table, Element element, ModifiableRootModel rootModel)
     throws InvalidDataException {
   this(
       table,
       rootModel,
       null,
       element.getAttributeValue(LIBRARY_NAME_ATTR),
       (PersistentLibraryKind<?>)
           LibraryKind.findById(element.getAttributeValue(LIBRARY_TYPE_ATTR)));
   readProperties(element);
   myJarDirectories.readExternal(element);
   readRoots(element);
   myRootsWatcher.updateWatchedRoots();
 }