Needs JavaDoc.