Done :) Note: The javadoc here is mostly verbatim from the API docs.