Program: 27713
Project: 27713
Buggy source:
/** 
 * Gets the permission id this description belongs to. <p>The permission id must be of the specified format as specified using EBNF: <ul> <li>CHARACTER  = "A" - "Z" | "a" - "z" | "0" - "9" | "_" | "-"</li> <li>NAME       = CHARACTER , { CHARACTER }</li> <li>TEMPLATE   = "&lt" , NAME , "&gt"</li> <li>PART       = NAME | TEMPLATE</li> <li>PERMISSION = NAME , { "." , PART }</li> </ul> </p> <p>The following examples shall help you to structure your permissions well: <ul> <li>"myplugin" - Grants everything in myPlugin</li> <li>"myplugin.give" - Grants everything related to give including all ItemTypes and Enchantments</li> <li>"myplugin.give.execute" - Allows the execution of give</li> <li>"myplugin.give.type" - Grants all ItemTypes</li> <li>"myplugin.give.type.&ltItemType&gt" - A template should not be granted to anybody</li> <li>"myplugin.give.type.DIAMOND" - Only grants DIAMOND</li> <li>"myplugin.give.enchantment" - Grants all Enchantments</li> <li>"myplugin.give.others" - Allow giving to other players</li> </ul> The addition of the "execute" permission instead of just "myPlugin.give" permission is useful to prevent unauthorized access to sub-permissions that are not documented or have been added lately. </p> <p> So if you want to allow someone to give themself only DIAMONDs, you would assign them the following permissions: <ul> <li>"myPlugin.give.execute"</li> <li>"myPlugin.give.type.DIAMOND"</li> </ul> </p> <p><b>Note:</b> Permission ids are case insensitive! Permission ids should start with the owning plugin's id.</p>
 * @return The permission id
 */
String getId();

Fixed version (ground truth):
/** 
 * Gets the permission id this description belongs to. <p>The permission id must be of the specified format as specified using EBNF: <ul> <li>CHARACTER  = "A" - "Z" | "a" - "z" | "0" - "9" | "_" | "-"</li> <li>NAME       = CHARACTER , { CHARACTER }</li> <li>TEMPLATE   = "&lt" , NAME , "&gt"</li> <li>PART       = NAME | TEMPLATE</li> <li>PERMISSION = NAME , { "." , PART }</li> </ul> </p> <p>The following examples shall help you to structure your permissions well: <ul> <li>"myplugin" - Grants everything in myPlugin</li> <li>"myplugin.give" - Grants everything related to give including all ItemTypes and Enchantments</li> <li>"myplugin.give.execute" - Allows the execution of give</li> <li>"myplugin.give.type" - Grants all ItemTypes</li> <li>"myplugin.give.type.&ltItemType&gt" - A template should not be granted to anybody</li> <li>"myplugin.give.type.minecraft.diamond" - Only grants minecraft:diamond</li> <li>"myplugin.give.enchantment" - Grants all Enchantments</li> <li>"myplugin.give.others" - Allow giving to other players</li> </ul> The addition of the "execute" permission instead of just "myPlugin.give" permission is useful to prevent unauthorized access to sub-permissions that are not documented or have been added lately. </p> <p> So if you want to allow someone to give themself only DIAMONDs, you would assign them the following permissions: <ul> <li>"myPlugin.give.execute"</li> <li>"myPlugin.give.type.DIAMOND"</li> </ul> </p> <p><b>Note:</b> Permission ids are case insensitive! Permission ids should start with the owning plugin's id.</p>
 * @return The permission id
 */
String getId();