String old = m_Object.getClass().getName(); try { if(selected != null) loaded = selected;  if ((m_Object != null) && old.equals(loaded)){ label.setText(old);
try { if ((m_Object != null) && m_Object.getClass().getName().equals(selected)){ setLabel(m_Object.getClass().getName());
	    public void mouseReleased(MouseEvent me){		String old = m_Object.getClass().getName();		try {		    if(selected != null)			loaded = selected;		    		    if ((m_Object != null) && old.equals(loaded)){			label.setText(old);			return;		    }		    		    // System.err.println("Different class type");		    label.setText(loaded);		    setObject(Class.forName(loaded).newInstance());		    m_ObjectNames.goToParent();		    selected = null;		    //System.err.println("???Mouse released: " + m_ObjectNames.fullValue()+ "|" + loaded);		    // System.err.println("done setting object from chooser");		    		} catch (Exception ex) {		    JOptionPane.showMessageDialog(null,						  "Could not create an example of\n"						  + loaded + "\n"						  + "from the current classpath",						  "GenericObjectEditor",						  JOptionPane.ERROR_MESSAGE);		    try{			label.setText(old);			setObject(Class.forName(old).newInstance());			m_ObjectNames.goToParent();			selected = null;			//System.err.println("???Mouse released: " + m_ObjectNames.fullValue()+ "|" + loaded);		    }catch(Exception e){			System.err.println(ex.getMessage());			ex.printStackTrace();		    }		}	    }	    	   