Currently the Delphi compiler does not differentiate between real Delphi language keywords (that can be escaped via & prefix) and predefined names/types that must be handled differently (we do this by adding a underscore postfix so it becomes e.g. 'System_' instead of 'System' which would collide with the Delphi runtime unit of that name).
This patch addresses this and handles keywords properly with '&' by .
Compatibility: This may break code if one of the Delphi keywords has been used in the IDL.
Workaround. The old behaviour can be restored via Thrift compiler switch.