A pattern documentation utility that uses Java annotations