def anneal(self):
strip = self.copy()<EOL>gaps = strip.find_gaps(index=True)<EOL>if not gaps:<EOL><INDENT>return<EOL><DEDENT>for gap in gaps:<EOL><INDENT>before = strip[gap]<EOL>after = strip[gap + <NUM_LIT:1>]<EOL>if strip.order == '<STR_LIT>':<EOL><INDENT>t = (after.top.z-before.base.z)/<NUM_LIT:2><EOL>before.base = before.base.z + t<EOL>after.top = after.top.z - t<EOL><DEDENT>else:<EOL><INDENT>t = (after.base-before.top)/<NUM_LIT:2><EOL>before.top = before.top.z + t<EOL>after.base = after.base.z - t<EOL><DEDENT><DEDENT>return strip<EOL>
Fill in empty intervals by growing from top and base.

Note that this operation happens in-place and destroys any information
about the ``Position`` (e.g. metadata associated with the top or base).
See GitHub issue #54.