def METHOD_NAME(self, document):
    """Delete all trees with zone!=gold_zone from the document and return them."""
    pred_trees = []
    for bundle in reversed(document.bundles):
        zones = [t.zone for t in bundle.trees]
        if len(zones) > 2 or (len(zones) == 2 and self.gold_zone not in zones):
            raise ValueError('Expected two zones including gold_zone=%s, but found: %s'
                             % (self.gold_zone, zones))
        for tree in bundle.trees:
            if tree.zone != self.gold_zone:
                pred_trees.append(tree)
                tree.remove()
    for bundle in document.bundles:
        if not bundle.trees:
            bundle.remove()
    if not document.bundles:
        raise ValueError('No bundles with gold_zone=' + self.gold_zone)
    return pred_trees