fix #706 circular reference while deserializing source descriptor