+sub is_m2m {
+ my( $self, $relation ) = @_;
+ my $object = $self->new({});
+ if ( $object->can($relation) and
+ !$object->result_source->has_relationship($relation) and
+ $object->can( 'set_' . $relation)
+ ){
+ return 1;
+ }
+ return;
+}
+
+sub get_m2m_source {
+ my( $self, $relation ) = @_;
+ my $object = $self->new({});
+ my $r = $object->$relation;
+ return $r->result_source;
+}
+
+