why protected? Also, it doesn't make sense to declare an attribute as transient if the class is not Serializable