*RequiresPlug - Indicates that method requires a plug, and throws a compiler exception if none exists. *PlugNotImplemented - Method is plugged, but throws a compiler error if plug is not implemented correctly.