public void inspect() {
        ObjectInspection newentry = new ObjectInspection(this);
        for(int i=0;i<this.fields.length;i++) {
            if(verbose)
                System.out.println(this.getClass().getName()+" inpspecting "+fields[i].getName()+" of "+this.toinspect.getClass().getName()+".");
            try {
                fields[i].setAccessible(true);
                newentry.add(fields[i].get(this.toinspect));
            }catch(IllegalAccessException e) {
                if(verbose)
                    System.err.println(this.getClass().getName()+".inspect(): No public access to "+fields[i].getName()+" of "+this.toinspect.getClass().getName());
                //	Try to invoke bean- conform getter method.
                String fieldname = this.fields[i].getName();
                char [] fieldnm = fieldname.toCharArray();
                fieldnm[0] = Character.toUpperCase(fieldnm[0]);
                fieldname = new String(fieldnm);
                String methodname = new StringBuffer("get").append(fieldname).toString();
                //name of method constructed. Now invoke it.
                try {
                    Method toinvoke = this.toinspect.getClass().getDeclaredMethod(methodname,new Class[]{});
                    newentry.add(toinvoke.invoke(this.toinspect,new Object[]{}));
                    
                    
                }catch(NoSuchMethodException f) {
                    if(verbose)
                        System.err.println(this.getClass().getName()+".inspect(): Failure at getting field "+fields[i].getName()+" by trying to invoke a method: "+methodname);
                }catch(SecurityException g) {
                    g.printStackTrace();
                }catch(IllegalAccessException h) {
                    h.printStackTrace();
                }catch(InvocationTargetException l) {
                    l.printStackTrace();
                }
            }
        }
        this.buffer.add(newentry);
        this.fireChange();
    }