@classmethod
def _check_data_args(cls, args):
    """Safty function to check data arguments."""
    if not isinstance(args, list):
        raise ValueError('Provided Data Arguments should be a list!')
    for i, ds in enumerate(args):
        if 'id' not in ds:
            raise IOError('Item at position {} has no id'.format(i))
        if 'dataset' not in ds and 'input' not in ds:
            raise IOError(
                'Dataset ({}) should have either a start dataset (`dataset`) or inherit from a pervious dataset (`input`)'
                .format(ds['id']))
    return args
