LibraryIndex Unique Identifier
Currently the Component library uses the name of the NamedObj as the unique identifier. This is not a good idea when we start talking about downloading and sharing object between many users. The LSID should be used to key the NamedObjs in the Component Library. The old "Save In Library" calls the LibraryIndex.componentNameInUse(String) method to prevent the user from saving a component with the same name as an existing component in their own library (even if the LSID is not in the library). This is a problem that could be best addressed by completely revamping the LibraryIndex to use either an SQL or Java serialization pattern to maintain the persistence of the Library Index. The XML serialization that we are using now is too slow to handle more dynamic usage of the Component Library (i.e. adding/moving/removing components in the Library) because every time you make a small change you have to rewrite the entire xml file.