def METHOD_NAME(self):
    """ See :meth:`Optimiser.ask()`. """
    # Initialise on first call
    if not self._running:
        self._initialise()
    # Ready for tell now
    self._ready_for_tell = True
    # Create new samples
    self._ss = np.array([np.random.normal(0, 1, self._n_parameters)
                        for i in range(self._population_size)])
    self._xs = self._mu + self._sigmas * self._ss
    # Boundaries? Then only pass user xs that are within bounds
    if self._boundaries is not None:
        self._user_ids = np.nonzero(
            [self._boundaries.check(x) for x in self._xs])
        self._user_xs = self._xs[self._user_ids]
        if len(self._user_xs) == 0:     # pragma: no cover
            warnings.warn(
                'All points requested by SNES are outside the boundaries.')
    else:
        self._user_xs = self._xs
    # Set as read-only and return
    self._user_xs.setflags(write=False)
    return self._user_xs