Closing #930: Add Idempotent annotation.

Also updating the license headers.