Resolve the output attribute value for 'chromosome_id'. Valid values are immutable, ie. the attribute key is not
        an actual entity. Mutable values will be changed to match the immutable value if unique. Otherwise an error is
        thrown.

        :param ins: iterable of input workflows
        :return: output attribute value

def get_to(self, ins):
        """
        Resolve the output attribute value for 'chromosome_id'. Valid values are immutable, ie. the attribute key is not
        an actual entity. Mutable values will be changed to match the immutable value if unique. Otherwise an error is
        thrown.

        :param ins: iterable of input workflows
        :return: output attribute value
        """
        input_entities = set()
        attribute_values = set()
        for in_ in ins:
            if self.ATTRIBUTE not in self.entity_graph.has_a.get_descendants(in_.head.name):
                attribute_values.update(in_.head.attributes[self.ATTRIBUTE])
                input_entities.add(in_.head.name)
        if len(attribute_values) == 0:
            attribute_values = ins[0].head.attributes[self.ATTRIBUTE]
        elif len(attribute_values) > 1:
            raise ValueError('Unable to resolve single output attribute value for chromosome_id ({}),'.format(', '.join(attribute_values)))
        return list(attribute_values)[0]