In order to use the components within the Java API, the programmer has to locate the component first. What was found during the first half of my research, using an extensive corpus of open-source software, was that only about 50\% of the classes within the Standard API are used at all, and around 21\% of the methods are used. Having such a large reusable software component code repository can be very advantageous in the development of any java written software system, however there is generally a difficulty in locating relevant reusable components from the API, reflected by the low usage stats. Indexing tools have been seen as one method in reducing the complexity of locating components from the Java API. However, previous attempts into the development of an indexing tool have shown little success. The second part of my research presented in this thesis focuses on the development and testing of a new implementation of an indexing tool using information found within Java source code, particularly the use of variable identifiers. This research also provides opinions on the idea of information found within source code is not as useful as information found within documentation. I also discuss the implications this has for future development of both the API itself, and for tools to support the API.