diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorInfo.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorInfo.java
index 28a6415..415df69 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorInfo.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorInfo.java
@@ -18,8 +18,8 @@
  */
 package org.apache.wiki.tags;
 
-import javax.servlet.jsp.tagext.TagExtraInfo;
 import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
 import javax.servlet.jsp.tagext.VariableInfo;
 
 /**
@@ -33,10 +33,10 @@
      *  {@inheritDoc}
      */
     @Override
-    public VariableInfo[] getVariableInfo(TagData data)
+    public VariableInfo[] getVariableInfo( final TagData data)
     {
-        VariableInfo[] var = { new VariableInfo( data.getAttributeString("id"),
-                                                 "org.apache.wiki.attachment.Attachment",
+        final VariableInfo[] var = { new VariableInfo( data.getAttributeString("id"),
+                                                 "org.apache.wiki.api.core.Attachment",
                                                  true,
                                                  VariableInfo.NESTED )
         };
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorInfo.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorInfo.java
index 6452b6f..e754f7d 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorInfo.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorInfo.java
@@ -18,8 +18,8 @@
  */
 package org.apache.wiki.tags;
 
-import javax.servlet.jsp.tagext.TagExtraInfo;
 import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
 import javax.servlet.jsp.tagext.VariableInfo;
 
 /**
@@ -29,10 +29,10 @@
  */
 public class HistoryIteratorInfo extends TagExtraInfo
 {
-    public VariableInfo[] getVariableInfo(TagData data)
+    public VariableInfo[] getVariableInfo( final TagData data)
     {
-        VariableInfo[] var = { new VariableInfo( data.getAttributeString("id"),
-                                                 "org.apache.wiki.WikiPage",
+        final VariableInfo[] var = { new VariableInfo( data.getAttributeString("id"),
+                                                 "org.apache.wiki.api.core.Page",
                                                  true,
                                                  VariableInfo.NESTED )
         };
