Needs JavaDoc documenting API.