Added circular reference tests
Avoid circular reference
Merge branch 'circularReference'