Added comments and some javadoc to methods that have a supertype parameter them. Might be overkill...