diff -ur CGI-Wiki-Formatter-Multiple-0.01/lib/CGI/Wiki/Formatter/Multiple.pm CGI-Wiki-Formatter-Multiple-changed/lib/CGI/Wiki/Formatter/Multiple.pm
--- CGI-Wiki-Formatter-Multiple-0.01/lib/CGI/Wiki/Formatter/Multiple.pm	Mon Sep 22 16:09:33 2003
+++ CGI-Wiki-Formatter-Multiple-changed/lib/CGI/Wiki/Formatter/Multiple.pm	Sun Sep 12 22:50:08 2004
@@ -96,8 +96,29 @@
 
 sub format {
     my ($self, $raw, $wiki, $metadata) = @_;
-    my $formatter_label = $metadata->{formatter}[0] || "_DEFAULT";
-    return $self->{formatters}{$formatter_label}->format( $raw, $wiki );
+    return $self->_formatter($metadata)->format($raw, $wiki);
+}
+
+=item B<find_internal_links( $raw, $metadata )>
+
+=cut
+
+sub find_internal_links {
+    my ($self, $raw, $metadata) = @_;
+    return () unless $self->_formatter($metadata);
+    return () unless $self->_formatter($metadata)->can("find_internal_links");
+    return $self->_formatter($metadata)->find_internal_links($raw, $metadata);
+}
+
+# internal method to return the correct formatter for the current
+# page.
+
+sub _formatter {
+  my $self = shift;
+  my $metadata = shift;
+  my $label = $metadata->{formatter} || "_DEFAULT";
+  $label = $label->[0] if ref($label);
+  return $self->{formatters}{$label};
 }
 
 =back
