def METHOD_NAME(self, face_size=0.01, realize=True, **params):
    obj = self.factory.METHOD_NAME(**params)
    obj.scale = 2 * np.array(self.factory.default_scale) / max(obj.dimensions[:2]) * uniform(.8, 1.2, 3)
    butil.apply_transform(obj)
    remesh_with_attrs(obj, face_size)
    assign_material(obj, self.material)
    has_bump = uniform(0, 1) < self.factory.bump_prob
    if self.factory.noise_strength > 0:
        if has_bump:
            self.apply_noise_texture(obj)
        else:
            self.apply_bump(obj)
    if uniform(0, 1) < self.factory.tentacle_prob and not has_bump:
        t = tentacles.apply(obj, self.factory.points_fn, self.factory.density, realize, self.base_hue)
        obj = join_objects([obj, t])
    tag_object(obj, 'coral')
    return obj