code: def values(cls, dataset, dimension, expanded, flat):
          
          if not dataset.data:
              return np.array([])
          values = []
          ds = cls._inner_dataset_template(dataset)
          for d in dataset.data:
              ds.data = d
              dvals = ds.interface.values(ds, dimension, expanded, flat)
              if not len(dvals):
                  continue
              elif expanded:
                  values.append(dvals)
                  values.append([np.NaN])
              else:
                  values.append(dvals)
          if not values:
              return np.array([])
          elif expanded:
              return np.concatenate(values[:-1])
          else:
              return np.concatenate(values)
docs: Returns a single concatenated array of all subpaths separated
          by NaN values. If expanded keyword is False an array of arrays
          is returned.