AST index changed from public to private. Added hashcode and equals
overrides