public void dispose() {
        int i, n;
        if (_sites != null) {
            _sites.dispose();
            _sites = null;
        }
        if (_triangles != null) {
            n = _triangles.size();
            for (i = 0; i < n; ++i) {
                _triangles.get(i).dispose();
            }
            _triangles.clear();
            _triangles = null;
        }
        if (_edges != null) {
            n = _edges.size();
            for (i = 0; i < n; ++i) {
                _edges.get(i).dispose();
            }
            _edges.clear();
            _edges = null;
        }
        _plotBounds = null;
        _sitesIndexedByLocation = null;
    }