Attribute.Invisible Property
It does not affect the visibility of the Attribute but only of the AttributeReference.
This allows to keep the Attribute visible when editing a BlockReference (with Environment.SetCurrent), so it can be selected and
the Invisible property can be set to true or false without affecting its visibility on screen that would prevent to select it again.
Then the EntityList.SynchronizeAttributes will propagate the Invisible property to the AttributeReferences and make them invisible
(after the current BlockReference is reset with ResetCurrentBlockReference).