'Return a replica without data, optionally with new frame attributes.
The replica is a new frame object without data but with the same frame
attributes as this object, except where overriden by extra keyword
arguments to this method.  The ``copy`` keyword determines if the frame
attributes are truly copied vs being references (which saves memory for
cases where frame attributes are large).
This method is essentially the converse of `realize_frame`.
Parameters
copy : bool, optional
If True, the resulting object has copies of the frame attributes.
When False, references are used where  possible.
Any additional keywords are treated as frame attributes to be set on the
new frame object.
Returns
frameobj : same as this frame
Replica of this object, but without data and possibly with new frame
attributes.'

def replicate_without_data(self, copy=False, **kwargs):

    kwargs[u'_framedata'] = None
    return self._apply((u'copy' if copy else u'replicate'), **kwargs)
