code: def get_samples_with_constraints(self, init_points_count):
          
          samples = np.empty((0, self.space.dimensionality))
  
          while samples.shape[0] < init_points_count:
              domain_samples = self.get_samples_without_constraints(init_points_count)
              valid_indices = (self.space.indicator_constraints(domain_samples) == 1).flatten()
              if sum(valid_indices) > 0:
                  valid_samples = domain_samples[valid_indices,:]
                  samples = np.vstack((samples,valid_samples))
  
          return samples[0:init_points_count,:]
docs: Draw random samples and only save those that satisfy constraints
          Finish when required number of samples is generated