I wonder if this could be rewritten to be more DRY?
```
self.data = []
for attr in ('entries', 'ranges', 'terms'):
    if hasattr(self, attr):
        self.data = getattr(self, attr)
```