Hello,
The @:access metadata can be used on a class / field to forcefully allow the class / field access to the package / class / field specified as the metadata value.
To put it bluntly, if encapsulation is preventing you from accessing, say, a field you really need to access but don't want to expose, you can use @:access(package.Class.field) to forcefully allow access to that private field from within to accessing class.
The @:access metadata can be added to classes, static functions, or member functions.
If a package is specified for @:access, the definition is recursive. If a class is specified, all of its private fields are exposed.
I hope that cleared things up!
Domagoj