import tensorflow as tf

        """
        Get items from this collection that are added in the current tower.
        """
        return self._collection_guard.get_collection_in_tower(key)

    # TODO currently only used in StagingInput
    @property
    def index(self):
        return self._index

    @call_only_once
    def _get_scopes(self):
        if not len(self._name):
            # work around https://github.com/tensorflow/tensorflow/issues/14703
            return [tf.variable_scope(tf.get_variable_scope())]
        ret = []

        # either the Tower was originally created with reuse,
        # or a training tower without vs has to use reuse.
        reuse = (self.is_training and self._index > 0 and not
                 self.has_own_variables) or self._initial_vs_reuse

        if len(self._vs_name):
            ret.append(tf.variable_scope(self._vs_name, reuse=reuse))
        else:
            if reuse:
                ret.append(tf.variable_scope(
                    tf.get_variable_scope(), reuse=True))
