set to initial state only if state is nil or empty. This is useful for nsmanagedobject