Doing some reviews in the code, I found these lines in JSF 2.2 section 18.104.22.168 :
"... If property contains a single colon character ‘:’, treat the content before the ‘:’ as the libraryName and the content after the ‘:’ as the resourceName and pass both to ResourceHandler.createResource(
resourceName, libraryName). If the value of libraryName is the literal string “this” (without the quotes), discover the library name of the current resource (or the contract name of the current resource, the two
are mutually exclusive) and replace “this” with that library name (or contract name) before calling
ResourceHandler.createResource(). In the case of resource library contracts, libraryName will actually be the contract name. If property contains more than one colon character ‘:’, throw a localized
ELException, including property ..."
In JSF 2.0, "this" was used when el expression where inside composite components, but in this case "this" refers to the contract itself.