You are viewing a plain text version of this content. The canonical link for it is here.
Posted to kato-commits@incubator.apache.org by sp...@apache.org on 2009/05/21 12:01:23 UTC

svn commit: r777086 - in /incubator/kato/trunk/KatoHProfAdapterPOC: ./ META-INF/ src/org/apache/kato/hprof/image/ src/org/apache/kato/hprof/java/ testsrc/org/apache/kato/hprof/java/ testsrc/test/apache/kato/hprof/image/ testsrc/test/apache/kato/hprof/j...

Author: spoole
Date: Thu May 21 12:01:21 2009
New Revision: 777086

URL: http://svn.apache.org/viewvc?rev=777086&view=rev
Log:
update hprof / kato adapter to support new API structure and to register imagefactory using new registry mechanism

Added:
    incubator/kato/trunk/KatoHProfAdapterPOC/plugin.xml   (with props)
Modified:
    incubator/kato/trunk/KatoHProfAdapterPOC/META-INF/MANIFEST.MF
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageAddressSpaceImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageProcessImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaClassImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaClassLoaderImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaHeapImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaObjectArrayImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaObjectInstanceImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaPrimitiveArrayImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaPrimitiveClassImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaRuntimeImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaStackFrameImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaThreadImpl.java
    incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/org/apache/kato/hprof/java/JavaHeapImplTest.java
    incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/org/apache/kato/hprof/java/JavaPrimitiveClassImplTest.java
    incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/AbstractHProfTestCase.java
    incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImage.java
    incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImageAddressSpace.java
    incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImageProcess.java
    incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/java/TestJavaHeap.java
    incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/java/TestJavaRuntime.java

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/META-INF/MANIFEST.MF?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/META-INF/MANIFEST.MF (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/META-INF/MANIFEST.MF Thu May 21 12:01:21 2009
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: DTFJHProfAdapter
-Bundle-SymbolicName: KatoHProfAdapterPOC
+Bundle-SymbolicName: KatoHProfAdapterPOC;singleton:=true
 Bundle-Version: 1.0.0
 Require-Bundle: org.apache.kato.api;bundle-version="1.3.0",
  HprofBinaryReaderPOC;bundle-version="1.0.0"

Added: incubator/kato/trunk/KatoHProfAdapterPOC/plugin.xml
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/plugin.xml?rev=777086&view=auto
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/plugin.xml (added)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/plugin.xml Thu May 21 12:01:21 2009
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+   <extension
+         point="org.apache.kato.factory">
+      <factory
+            action="org.apache.kato.hprof.image.ImageFactoryImpl"
+            id="KatoHProfAdapterPOC.factory1"
+            label="label">
+         <content-types
+               dump-type="*hprof"
+               name="name">
+         </content-types>
+      </factory>
+   </extension>
+
+</plugin>

Propchange: incubator/kato/trunk/KatoHProfAdapterPOC/plugin.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageAddressSpaceImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageAddressSpaceImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageAddressSpaceImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageAddressSpaceImpl.java Thu May 21 12:01:21 2009
@@ -13,7 +13,6 @@
  ******************************************************************************/
 package org.apache.kato.hprof.image;
 
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -29,7 +28,7 @@
 	private final ImageImpl imageImpl;
 	private ImageProcess currentProcess=null;
 	
-	/**ó
+	/**�
 	 * @param imageImpl
 	 */
 	ImageAddressSpaceImpl(ImageImpl imageImpl) {
@@ -46,10 +45,10 @@
 	}
 
 	@Override
-	public Iterator getImageSections() {
+	public List getImageSections() {
 		
 		List l=new LinkedList();
-		return l.iterator();
+		return l;
 	}
 
 	@Override
@@ -58,9 +57,9 @@
 	}
 
 	@Override
-	public Iterator getProcesses() {
+	public List getProcesses() {
 		List l=new LinkedList();
 		l.add(currentProcess);
-		return l.iterator();
+		return l;
 	}
 }
\ No newline at end of file

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageImpl.java Thu May 21 12:01:21 2009
@@ -33,8 +33,8 @@
 		addressSpaces.add(new ImageAddressSpaceImpl(this));
 	}
 	@Override
-	public Iterator getAddressSpaces() {		
-		return addressSpaces.iterator();
+	public List getAddressSpaces() {		
+		return addressSpaces;
 	}
 
 	@Override

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageProcessImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageProcessImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageProcessImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/image/ImageProcessImpl.java Thu May 21 12:01:21 2009
@@ -14,7 +14,6 @@
 package org.apache.kato.hprof.image;
 
 import java.io.IOException;
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Properties;
@@ -86,7 +85,7 @@
 	}
 
 	@Override
-	public Iterator getLibraries() throws DataUnavailable,
+	public List getLibraries() throws DataUnavailable,
 			CorruptDataException {
 		throw new DataUnavailable();
 	}
@@ -97,14 +96,14 @@
 	}
 
 	@Override
-	public Iterator getRuntimes() {
+	public List getRuntimes() {
 		
 		if(javaRuntime==null) {
-			javaRuntime=new JavaRuntimeImpl(this.view, (ImageAddressSpace) imageImpl.getAddressSpaces().next()); 
+			javaRuntime=new JavaRuntimeImpl(this.view, (ImageAddressSpace) imageImpl.getAddressSpaces().get(0)); 
 		}
 		List list=new LinkedList();
 		list.add(javaRuntime);
-		return list.iterator();
+		return list;
 	}
 
 	@Override
@@ -120,8 +119,8 @@
 	}
 
 	@Override
-	public Iterator getThreads() {
+	public List getThreads() {
 		// There will never be any native threads.
-		return (new LinkedList()).iterator();
+		return new LinkedList();
 	}
 }
\ No newline at end of file

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaClassImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaClassImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaClassImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaClassImpl.java Thu May 21 12:01:21 2009
@@ -105,7 +105,7 @@
 			int count=0;
 			boolean valueSet = false, offsetSet = false, countSet=false;
 			
-			Iterator iter = clazz.getDeclaredFields();
+			Iterator iter = clazz.getDeclaredFields().iterator();
 			
 			while (iter.hasNext()) {
 				JavaField field = (JavaField) iter.next();
@@ -511,7 +511,7 @@
 	}
 
 	@Override
-	public Iterator getConstantPoolReferences() {
+	public List getConstantPoolReferences() {
 		List cpeList = new LinkedList();
 		
 		
@@ -531,7 +531,7 @@
 	 */
 	private ArrayList<JavaField> fields;
 	@Override
-	public Iterator getDeclaredFields() {
+	public List getDeclaredFields() {
 		if (fields == null) {
 			StaticFieldEntry staticFields[] = javaClass.getStaticFields();
 			InstanceFieldEntry instanceFields[] = javaClass.getInstanceFields();
@@ -547,7 +547,7 @@
 			}
 		}
 		
-		return fields.iterator();
+		return fields;
 	}
 
 	/** 
@@ -555,8 +555,8 @@
 	 * 
 	 */
 	@Override
-	public Iterator getDeclaredMethods() {
-		return new LinkedList().iterator();
+	public List getDeclaredMethods() {
+		return new LinkedList();
 	}
 
 	
@@ -577,8 +577,8 @@
 	 * but there is nothing to suggest that that is possible.
 	 */
 	@Override
-	public Iterator getInterfaces() {
-		return new LinkedList().iterator();
+	public List getInterfaces() {
+		return new LinkedList();
 	}
 
 	/**
@@ -671,7 +671,7 @@
 	}
 
 	@Override
-	public Iterator getReferences() {
+	public List getReferences() {
 		// TODO Auto-generated method stub
 		// All object references, constantpool entries, superclass, etc.
 		return null;

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaClassLoaderImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaClassLoaderImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaClassLoaderImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaClassLoaderImpl.java Thu May 21 12:01:21 2009
@@ -16,12 +16,11 @@
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.LinkedList;
+import java.util.List;
 
-import org.apache.kato.hprof.HProfView;
-import org.apache.kato.hprof.IJavaClass;
+import org.apache.kato.IteratorBackedList;
 import org.apache.kato.hprof.IJavaClassLoader;
 import org.apache.kato.hprof.image.CorruptDataImpl;
-import org.apache.kato.hprof.image.ImagePointerImpl;
 import org.apache.kato.image.CorruptDataException;
 import org.apache.kato.java.JavaClassLoader;
 import org.apache.kato.java.JavaObject;
@@ -74,13 +73,13 @@
 	 * 
 	 * FIXME It may be possible to pull out the classes from the java.lang.ClassLoader.classes Vector 
 	 */
-	public Iterator getCachedClasses() {
-		return new LinkedList().iterator();
+	public List getCachedClasses() {
+		return new LinkedList();
 	}
 
 	@Override
-	public Iterator getDefinedClasses() {
-		return new ClassesIterator();
+	public List getDefinedClasses() {
+		return new IteratorBackedList(new ClassesIterator());
 	}
 
 	/**

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaHeapImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaHeapImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaHeapImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaHeapImpl.java Thu May 21 12:01:21 2009
@@ -13,15 +13,14 @@
  ******************************************************************************/
 package org.apache.kato.hprof.java;
 
-import java.util.Collection;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Map;
 import java.util.NoSuchElementException;
 import java.util.WeakHashMap;
 
+import org.apache.kato.IteratorBackedList;
+import org.apache.kato.ObjectMapList;
 import org.apache.kato.common.BasicType;
 import org.apache.kato.hprof.HProfView;
 import org.apache.kato.hprof.IJavaClass;
@@ -62,11 +61,13 @@
 	}
 
 	@Override
-	public Iterator getObjects() {
+	public List getObjects() {
 		
 		final IHeapDumpHProfRecord record=view.getHeapRecord();
 		
-		if(record==null) return buildEmptyIterator();
+		if(record==null) return new LinkedList();
+		
+		
 		
 		Iterator iter = new Iterator(){
 			
@@ -127,17 +128,13 @@
 		
 
 			iter.hasNext(); // initialize iterator.
-			return iter;
-	}
-
-	private Iterator buildEmptyIterator() {
-		List l=new LinkedList();
-		return l.iterator();
+			return new IteratorBackedList(iter);
 	}
 
+	
 	@Override
-	public Iterator getSections() {
-		return buildEmptyIterator();
+	public List getSections() {
+		return new LinkedList();
 	}
 
 	/**
@@ -265,7 +262,7 @@
 	/**
 	 * Map from JavaClassLoader IDs to JavaClassLoaders.
 	 */
-	private Map<Long,JavaClassLoaderImpl> javaClassLoaders;
+	private ObjectMapList<Long,JavaClassLoaderImpl> javaClassLoaders;
 	
 	/**
 	 * Create a map of JavaClassLoader object ID's to JavaClassLoaderImpl's.
@@ -275,7 +272,7 @@
 	 */
 	private void createJavaClassLoaders() {
 		if (javaClassLoaders == null) {
-			javaClassLoaders = new HashMap<Long,JavaClassLoaderImpl>();
+			javaClassLoaders = new ObjectMapList<Long,JavaClassLoaderImpl>();
 			for (IJavaClassLoader loader : view.getJavaClassLoaders()) {
 				javaClassLoaders.put(loader.getID(),new JavaClassLoaderImpl(this, loader));
 			}
@@ -287,7 +284,7 @@
 	 * Returns the java class loaders
 	 * @return 
 	 */
-	public Collection<JavaClassLoaderImpl> getJavaClassLoaders() {
+	public List<JavaClassLoaderImpl> getJavaClassLoaders() {
 		createJavaClassLoaders();
 		return javaClassLoaders.values();
 	}

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaObjectArrayImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaObjectArrayImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaObjectArrayImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaObjectArrayImpl.java Thu May 21 12:01:21 2009
@@ -13,10 +13,11 @@
  ******************************************************************************/
 package org.apache.kato.hprof.java;
 
-import java.util.Iterator;
+
+import java.util.LinkedList;
+import java.util.List;
 
 import org.apache.kato.hprof.datalayer.IGCObjectArrayHeapDumpRecord;
-import org.apache.kato.hprof.image.ImagePointerImpl;
 import org.apache.kato.image.CorruptDataException;
 import org.apache.kato.image.DataUnavailable;
 import org.apache.kato.image.ImagePointer;
@@ -115,15 +116,13 @@
 		throw new DataUnavailable("Persistent hashcode unknown.");	}
 
 	@Override
-	public Iterator getReferences() {
-		// TODO Auto-generated method stub
-		return null;
+	public List getReferences() {
+		return new LinkedList();
 	}
 
 	@Override
-	public Iterator getSections() {
-		// TODO Auto-generated method stub
-		return null;
+	public List getSections() {
+		return new LinkedList();
 	}
 
 	@Override

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaObjectInstanceImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaObjectInstanceImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaObjectInstanceImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaObjectInstanceImpl.java Thu May 21 12:01:21 2009
@@ -13,10 +13,10 @@
  ******************************************************************************/
 package org.apache.kato.hprof.java;
 
-import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
 
 import org.apache.kato.hprof.datalayer.IGCInstanceHeapDumpRecord;
-import org.apache.kato.hprof.image.ImagePointerImpl;
 import org.apache.kato.image.CorruptDataException;
 import org.apache.kato.image.DataUnavailable;
 import org.apache.kato.image.ImagePointer;
@@ -82,30 +82,13 @@
 	}
 
 	@Override
-	public Iterator getReferences() {
-		return new Iterator(){			
-			@Override
-			public boolean hasNext() {
-				// TODO Auto-generated method stub
-				return false;
-			}
-
-			@Override
-			public Object next() {
-				// TODO Auto-generated method stub
-				return null;
-			}
-
-			@Override
-			public void remove() {
-				// TODO Auto-generated method stub
-				
-			}};
+	public List getReferences() {
+		return new LinkedList();
 	}
 
 	@Override
-	public Iterator getSections() {		
-		return null;
+	public List getSections() {		
+		return new LinkedList();
 	}
 
 	@Override

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaPrimitiveArrayImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaPrimitiveArrayImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaPrimitiveArrayImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaPrimitiveArrayImpl.java Thu May 21 12:01:21 2009
@@ -13,12 +13,13 @@
  ******************************************************************************/
 package org.apache.kato.hprof.java;
 
-import java.util.Iterator;
+
+import java.util.LinkedList;
+import java.util.List;
 
 import org.apache.kato.common.BasicType;
 import org.apache.kato.hprof.datalayer.IGCPrimitiveArrayHeapDumpRecord;
 import org.apache.kato.hprof.image.CorruptDataImpl;
-import org.apache.kato.hprof.image.ImagePointerImpl;
 import org.apache.kato.image.CorruptDataException;
 import org.apache.kato.image.DataUnavailable;
 import org.apache.kato.image.ImagePointer;
@@ -205,15 +206,13 @@
 		throw new DataUnavailable("Persistent hashcode unknown.");	}
 
 	@Override
-	public Iterator getReferences() {
-		// TODO Auto-generated method stub
-		return null;
+	public List getReferences() {
+		return new LinkedList();
 	}
 
 	@Override
-	public Iterator getSections() {
-		// TODO Auto-generated method stub
-		return null;
+	public List getSections() {
+		return new LinkedList();
 	}
 
 	@Override

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaPrimitiveClassImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaPrimitiveClassImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaPrimitiveClassImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaPrimitiveClassImpl.java Thu May 21 12:01:21 2009
@@ -13,7 +13,7 @@
  ******************************************************************************/
 package org.apache.kato.hprof.java;
 
-import java.util.Iterator;
+import java.util.List;
 import java.util.Vector;
 
 import org.apache.kato.hprof.image.ImagePointerImpl;
@@ -51,18 +51,18 @@
 	}
 
 	@Override
-	public Iterator getConstantPoolReferences() {
-		return new Vector(0).iterator();
+	public List getConstantPoolReferences() {
+		return new Vector(0);
 	}
 
 	@Override
-	public Iterator getDeclaredFields() {
-		return new Vector(0).iterator();
+	public List getDeclaredFields() {
+		return new Vector(0);
 	}
 
 	@Override
-	public Iterator getDeclaredMethods() {
-		return new Vector(0).iterator();
+	public List getDeclaredMethods() {
+		return new Vector(0);
 	}
 
 	
@@ -73,8 +73,8 @@
 	}
 
 	@Override
-	public Iterator getInterfaces() {
-		return new Vector(0).iterator();
+	public List getInterfaces() {
+		return new Vector(0);
 	}
 
 	@Override
@@ -96,8 +96,8 @@
 	}
 
 	@Override
-	public Iterator getReferences() {
-		return new Vector(0).iterator();
+	public List getReferences() {
+		return new Vector(0);
 	}
 
 	@Override

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaRuntimeImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaRuntimeImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaRuntimeImpl.java Thu May 21 12:01:21 2009
@@ -49,15 +49,15 @@
 	}
 	
 	@Override
-	public Iterator getCompiledMethods() {
+	public List getCompiledMethods() {
 		
 		
 		List l=new LinkedList();
-		return l.iterator();
+		return l;
 	}
 
 	@Override
-	public Iterator getHeapRoots() {
+	public List getHeapRoots() {
 		// TODO Auto-generated method stub
 		return null;
 	}
@@ -65,10 +65,10 @@
 	private JavaHeapImpl heap;
 	
 	@Override
-	public Iterator getHeaps() {
+	public List getHeaps() {
 		List<JavaHeapImpl> l=new LinkedList<JavaHeapImpl>();
 		l.add(heap);
-		return l.iterator();
+		return l;
 	}
 
 	
@@ -80,8 +80,8 @@
 	 * @return Iterator<JavaClassLoaderImpl>
 	 */
 	@Override	
-	public Iterator<JavaClassLoaderImpl> getJavaClassLoaders() {
-		return heap.getJavaClassLoaders().iterator();
+	public List getJavaClassLoaders() {
+		return heap.getJavaClassLoaders();
 	}
 
 	
@@ -105,8 +105,8 @@
 	 * @return empty Iterator
 	 */
 	@Override
-	public Iterator getMonitors() {		
-		return (new LinkedList()).iterator();
+	public List getMonitors() {		
+		return new LinkedList();
 	}
 
 	/**
@@ -134,7 +134,7 @@
 
 	private List<JavaThreadImpl> threads = null;
 	@Override
-	public Iterator getThreads() {
+	public List getThreads() {
 		if(threads == null) {
 			threads = new LinkedList<JavaThreadImpl>();
 
@@ -147,7 +147,7 @@
 			}		
 		}
 		
-		return threads.iterator();
+		return threads;
 	}
 
 	/**

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaStackFrameImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaStackFrameImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaStackFrameImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaStackFrameImpl.java Thu May 21 12:01:21 2009
@@ -1,7 +1,7 @@
 package org.apache.kato.hprof.java;
 
-import java.util.Iterator;
 import java.util.LinkedList;
+import java.util.List;
 
 import org.apache.kato.hprof.IJavaStackFrame;
 import org.apache.kato.hprof.image.ImagePointerImpl;
@@ -39,7 +39,7 @@
 	}
 
 	@Override
-	public Iterator getHeapRoots() {
+	public List getHeapRoots() {
 		// TODO Need implementation here.
 		return null;
 	}
@@ -137,8 +137,8 @@
 		 * @return empty Iterator
 		 */
 		@Override
-		public Iterator getBytecodeSections() {			
-			return (new LinkedList()).iterator();
+		public List getBytecodeSections() {			
+			return new LinkedList();
 		}
 
 		/**
@@ -146,8 +146,8 @@
 		 * @return empty Iterator
 		 */
 		@Override
-		public Iterator getCompiledSections() {
-			return (new LinkedList()).iterator();
+		public List getCompiledSections() {
+			return new LinkedList();
 		}
 
 		@Override
@@ -209,5 +209,16 @@
 				return "Exception on JavaMethodImpl.toString()+"+ e.getMessage();
 			}  
 		}
+
+		@Override
+		public List getVariables() throws DataUnavailable {
+			throw new DataUnavailable();
+		}
+	}
+
+	@Override
+	public Object getVariable(int slot) throws CorruptDataException,
+			DataUnavailable, IndexOutOfBoundsException {
+		throw new DataUnavailable();
 	}
 }

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaThreadImpl.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaThreadImpl.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaThreadImpl.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/src/org/apache/kato/hprof/java/JavaThreadImpl.java Thu May 21 12:01:21 2009
@@ -1,13 +1,12 @@
 package org.apache.kato.hprof.java;
 
-import java.util.Iterator;
 import java.util.LinkedList;
+import java.util.List;
 import java.util.Vector;
 
 import org.apache.kato.hprof.IJavaStack;
 import org.apache.kato.hprof.IJavaStackFrame;
 import org.apache.kato.hprof.IJavaThread;
-import org.apache.kato.hprof.image.ImagePointerImpl;
 import org.apache.kato.image.CorruptDataException;
 import org.apache.kato.image.DataUnavailable;
 import org.apache.kato.image.ImagePointer;
@@ -78,7 +77,7 @@
 	 */
 	private Vector<JavaStackFrameImpl> frames;
 	@Override
-	public Iterator getStackFrames() {
+	public List getStackFrames() {
 		if(frames == null) {
 			IJavaStack stack =thread.getStack();
 		 	IJavaStackFrame[] stackFrames = stack.getStack();
@@ -89,7 +88,7 @@
 		 	}
 		}
 		
-		return frames.iterator();
+		return frames;
 	}
 
 	/**
@@ -98,8 +97,8 @@
 	 * @return empty iterator.
 	 */
 	@Override
-	public Iterator getStackSections() {
-		return new LinkedList().iterator();
+	public List getStackSections() {
+		return new LinkedList();
 	}
 
 	/**

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/org/apache/kato/hprof/java/JavaHeapImplTest.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/org/apache/kato/hprof/java/JavaHeapImplTest.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/org/apache/kato/hprof/java/JavaHeapImplTest.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/org/apache/kato/hprof/java/JavaHeapImplTest.java Thu May 21 12:01:21 2009
@@ -15,7 +15,7 @@
 
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.Iterator;
+import java.util.List;
 
 import org.apache.kato.hprof.image.ImagePointerImpl;
 import org.apache.kato.image.ImagePointer;
@@ -85,13 +85,13 @@
 	}
 
 	@Override
-	public Iterator getObjects() {
+	public List getObjects() {
 		// TODO Auto-generated method stub
 		return null;
 	}
 
 	@Override
-	public Iterator getSections() {
+	public List getSections() {
 		// TODO Auto-generated method stub
 		return null;
 	}

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/org/apache/kato/hprof/java/JavaPrimitiveClassImplTest.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/org/apache/kato/hprof/java/JavaPrimitiveClassImplTest.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/org/apache/kato/hprof/java/JavaPrimitiveClassImplTest.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/org/apache/kato/hprof/java/JavaPrimitiveClassImplTest.java Thu May 21 12:01:21 2009
@@ -68,7 +68,7 @@
 	}
 	
 	public void testGetConstantPoolReferences() throws Exception {
-		Iterator iter = instance.getConstantPoolReferences();
+		Iterator iter = instance.getConstantPoolReferences().iterator();
 		
 		assertNotNull(iter);
 		
@@ -76,7 +76,7 @@
 	}
 	
 	public void testGetDeclaredFields() throws Exception {
-		Iterator iter = instance.getDeclaredFields();
+		Iterator iter = instance.getDeclaredFields().iterator();
 		
 		assertNotNull(iter);
 		
@@ -84,7 +84,7 @@
 	}
 	
 	public void testGetDeclaredMethods() throws Exception {
-		Iterator iter = instance.getDeclaredMethods();
+		Iterator iter = instance.getDeclaredMethods().iterator();
 		
 		assertNotNull(iter);
 		
@@ -93,7 +93,7 @@
 	
 	
 	public void testGetInterfaces() throws Exception {
-		Iterator iter = instance.getInterfaces();
+		Iterator iter = instance.getInterfaces().iterator();
 		
 		assertNotNull(iter);
 		
@@ -101,7 +101,7 @@
 	}
 
 	public void testGetReferences() throws Exception {
-		Iterator iter = instance.getReferences();
+		Iterator iter = instance.getReferences().iterator();
 		
 		assertNotNull(iter);
 		

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/AbstractHProfTestCase.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/AbstractHProfTestCase.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/AbstractHProfTestCase.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/AbstractHProfTestCase.java Thu May 21 12:01:21 2009
@@ -77,9 +77,7 @@
 	}
 	protected ImageAddressSpace getFirstAddressSpace() throws IOException {
 		Image minimal=getMinimalImage();
-		Iterator i=minimal.getAddressSpaces();
-		Object o=i.next();
-		ImageAddressSpace space=(ImageAddressSpace) o;
+		ImageAddressSpace space=(ImageAddressSpace)minimal.getAddressSpaces().get(0);
 		return space;
 	}
 
@@ -92,21 +90,19 @@
 
 	protected JavaRuntime getJavaRuntime() throws IOException {
 		
-		return (JavaRuntime) getCurrentProcess().getRuntimes().next(); 
+		return (JavaRuntime) getCurrentProcess().getRuntimes().get(0); 
 	}
 protected JavaRuntime getPopulatedJavaRuntime() throws IOException {
 		
-		return (JavaRuntime) getCurrentProcess().getRuntimes().next(); 
+		return (JavaRuntime) getCurrentProcess().getRuntimes().get(0); 
 	}
 
 protected JavaHeap getPopulatedJavaHeap() throws IOException {
 	Image populated=getPopulatedImage();
-	Iterator i=populated.getAddressSpaces();
-	Object o=i.next();
-	ImageAddressSpace space=(ImageAddressSpace) o;
+	ImageAddressSpace space=(ImageAddressSpace)populated.getAddressSpaces().get(0);
 	ImageProcess process=space.getCurrentProcess();
-	JavaRuntime rt=(JavaRuntime) process.getRuntimes().next();
-	return (JavaHeap) rt.getHeaps().next();
+	JavaRuntime rt=(JavaRuntime) process.getRuntimes().get(0);
+	return (JavaHeap) rt.getHeaps().get(0);
 	 
 }
 

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImage.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImage.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImage.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImage.java Thu May 21 12:01:21 2009
@@ -16,6 +16,7 @@
 
 import java.io.IOException;
 import java.util.Iterator;
+import java.util.List;
 
 import org.apache.kato.hprof.image.ImageImpl;
 import org.apache.kato.image.CorruptDataException;
@@ -126,21 +127,21 @@
 	public void testGetAddressSpaceIterator() throws IOException {
 		
 			Image minimal=getMinimalImage();
-			Iterator i=minimal.getAddressSpaces();
+			List i=minimal.getAddressSpaces();
 			assertNotNull(i);
 	}
 
 	public void testGetNonEmptyAddressSpaceIterator() throws IOException {
 		
 		Image minimal=getMinimalImage();
-		Iterator i=minimal.getAddressSpaces();
+		Iterator i=minimal.getAddressSpaces().iterator();
 		assertTrue(i.hasNext());
 	}
 
 	public void testGetRealAddressSpace() throws IOException {
 		
 		Image minimal=getMinimalImage();
-		Iterator i=minimal.getAddressSpaces();
+		Iterator i=minimal.getAddressSpaces().iterator();
 		Object o=i.next();
 		assertTrue("object is not an image address space",o instanceof ImageAddressSpace);
 		

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImageAddressSpace.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImageAddressSpace.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImageAddressSpace.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImageAddressSpace.java Thu May 21 12:01:21 2009
@@ -15,6 +15,7 @@
 
 import java.io.IOException;
 import java.util.Iterator;
+import java.util.List;
 
 import org.apache.kato.image.ImageAddressSpace;
 import org.apache.kato.image.ImagePointer;
@@ -26,7 +27,7 @@
 	public void testGetImageSectionIterator() throws IOException {
 		
 		ImageAddressSpace space=getFirstAddressSpace();
-		Iterator i=space.getImageSections();
+		List i=space.getImageSections();
 		assertNotNull(i);
 		
 	}
@@ -34,7 +35,7 @@
 	public void testGetEmptyImageSectionIterator() throws IOException {
 		
 		ImageAddressSpace space=getFirstAddressSpace();
-		Iterator i=space.getImageSections();
+		Iterator i=space.getImageSections().iterator();
 		assertFalse(i.hasNext());
 		
 	}
@@ -47,26 +48,26 @@
 	}
 	public void testGetProcessIterator() throws IOException {
 		ImageAddressSpace space=getFirstAddressSpace();
-		Iterator i=space.getProcesses();
+		List i=space.getProcesses();
 		assertNotNull(i);
 		
 	}
 	
 	public void testGetNonEmptyProcessIterator() throws IOException {
 		ImageAddressSpace space=getFirstAddressSpace();
-		Iterator i=space.getProcesses();
+		Iterator i=space.getProcesses().iterator();
 		assertTrue(i.hasNext());
 		
 	}
 	public void testProcessIteratorReturnsProcess() throws IOException {
 		ImageAddressSpace space=getFirstAddressSpace();
-		Iterator i=space.getProcesses();
+		Iterator i=space.getProcesses().iterator();
 		ImageProcess p=(ImageProcess) i.next();
 		
 	}
 	public void testProcessIteratorReturnsCurrentProcess() throws IOException {
 		ImageAddressSpace space=getFirstAddressSpace();
-		Iterator i=space.getProcesses();
+		Iterator i=space.getProcesses().iterator();
 		ImageProcess p=(ImageProcess) i.next();
 		ImageProcess current=space.getCurrentProcess();
 		assertEquals("first image process is not current",current,p);

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImageProcess.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImageProcess.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImageProcess.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/image/TestImageProcess.java Thu May 21 12:01:21 2009
@@ -15,6 +15,7 @@
 
 import java.io.IOException;
 import java.util.Iterator;
+import java.util.List;
 
 import org.apache.kato.image.CorruptDataException;
 import org.apache.kato.image.DataUnavailable;
@@ -125,7 +126,7 @@
 	public void testGetThreadsNotNull() throws Exception {
 		ImageProcess process = getCurrentProcess();
 		
-		Iterator threads = process.getThreads();
+		List threads = process.getThreads();
 		
 		assertNotNull(threads);
 	}
@@ -133,7 +134,7 @@
 	public void testGetThreadsEmpty() throws Exception {
 		ImageProcess process = getCurrentProcess();
 		
-		Iterator threads = process.getThreads();
+		Iterator threads = process.getThreads().iterator();
 		
 		assertFalse(threads.hasNext());
 	}
@@ -147,7 +148,7 @@
 	public void testGetRuntimes() throws Exception {
 		ImageProcess process = getCurrentProcess();
 		
-		Iterator runtimes = process.getRuntimes();
+		Iterator runtimes = process.getRuntimes().iterator();
 		int count = 0;
 		
 		while (runtimes.hasNext()) {
@@ -178,7 +179,7 @@
 	}
 	
 	public void testEqualsOther() throws Exception {
-		ImageProcess populatedProcess = ((ImageAddressSpace)(getPopulatedImage().getAddressSpaces().next())).getCurrentProcess();
+		ImageProcess populatedProcess = ((ImageAddressSpace)(getPopulatedImage().getAddressSpaces().get(0))).getCurrentProcess();
 		ImageProcess process = getCurrentProcess();
 		
 		assertFalse(process.equals(populatedProcess));

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/java/TestJavaHeap.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/java/TestJavaHeap.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/java/TestJavaHeap.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/java/TestJavaHeap.java Thu May 21 12:01:21 2009
@@ -15,6 +15,7 @@
 
 import java.io.IOException;
 import java.util.Iterator;
+import java.util.List;
 
 import org.apache.kato.java.JavaHeap;
 import org.apache.kato.java.JavaObject;
@@ -35,14 +36,14 @@
 	public void testGetSectionsReturns() throws IOException {
 		
 		JavaHeap heap=getPopulatedJavaHeap();
-		Iterator i=heap.getSections();
+		List i=heap.getSections();
 		assertNotNull(i);
 		
 	}
 	public void testGetSectionsIsEmpty() throws IOException {
 		
 		JavaHeap heap=getPopulatedJavaHeap();
-		Iterator i=heap.getSections();
+		Iterator i=heap.getSections().iterator();
 		assertFalse("expected empty iterator",i.hasNext());
 		
 	}
@@ -50,7 +51,7 @@
 	public void testGetObjectsReturns() throws Exception {
 		
 		JavaHeap heap=getPopulatedJavaHeap();
-		Iterator i=heap.getObjects();
+		Iterator i=heap.getObjects().iterator();
 		
 		int count=0;
 		while (i.hasNext()) {

Modified: incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/java/TestJavaRuntime.java
URL: http://svn.apache.org/viewvc/incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/java/TestJavaRuntime.java?rev=777086&r1=777085&r2=777086&view=diff
==============================================================================
--- incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/java/TestJavaRuntime.java (original)
+++ incubator/kato/trunk/KatoHProfAdapterPOC/testsrc/test/apache/kato/hprof/java/TestJavaRuntime.java Thu May 21 12:01:21 2009
@@ -15,6 +15,7 @@
 
 import java.io.IOException;
 import java.util.Iterator;
+import java.util.List;
 
 import org.apache.kato.image.CorruptDataException;
 import org.apache.kato.image.DataUnavailable;
@@ -56,13 +57,9 @@
 	public void testGetMonitors() throws IOException {
 
 		JavaRuntime runtime=getJavaRuntime();
-		Iterator i=runtime.getMonitors();
+		List l=runtime.getMonitors();
 
-		int count=0;
-		while (i.hasNext()) {
-			i.next();
-			count++;
-		}
+		int count=l.size();
 		
 		assertEquals("More than 0 monitors returned. There are none.",0,count);
 	}
@@ -88,44 +85,44 @@
 
 	public void testGetCompiledMethodsReturns() throws IOException {
 		JavaRuntime runtime=getJavaRuntime();
-		Iterator i=runtime.getCompiledMethods();
+		List i=runtime.getCompiledMethods();
 		assertNotNull(i);
 
 	}
 	public void testGetCompiledMethodsIteratorIsEmpty() throws IOException {
 		JavaRuntime runtime=getJavaRuntime();
-		Iterator i=runtime.getCompiledMethods();
+		Iterator i=runtime.getCompiledMethods().iterator();
 		assertFalse("compiled methods iterator is not empty",i.hasNext());
 
 	}
 
 	public void testGetHeapIteratorReturns() throws IOException {
 		JavaRuntime runtime=getPopulatedJavaRuntime();
-		Iterator i=runtime.getHeaps();
+		List i=runtime.getHeaps();
 		assertNotNull(i);
 
 	}
 	private final class MockJavaRuntime implements JavaRuntime {
 		@Override
-		public Iterator getCompiledMethods() {
+		public List getCompiledMethods() {
 
 			return null;
 		}
 
 		@Override
-		public Iterator getHeapRoots() {
+		public List getHeapRoots() {
 
 			return null;
 		}
 
 		@Override
-		public Iterator getHeaps() {
+		public List getHeaps() {
 
 			return null;
 		}
 
 		@Override
-		public Iterator getJavaClassLoaders() {
+		public List getJavaClassLoaders() {
 
 			return null;
 		}
@@ -144,7 +141,7 @@
 		}
 
 		@Override
-		public Iterator getMonitors() {
+		public List getMonitors() {
 
 			return null;
 		}
@@ -158,7 +155,7 @@
 		}
 
 		@Override
-		public Iterator getThreads() {
+		public List getThreads() {
 
 			return null;
 		}