documented composite java api design