public void removeFrame( JInternalFrame jif  )
	{
       // if( jif.getClass().toString().equalsIgnoreCase( "class ImageFrame" )       //remove ImageFrame
       //     || jif.getClass().toString().equalsIgnoreCase( "class HistogramFrame" ) )  //remove histogramFrame
		
		
		if( jif instanceof ImageFrame    
		 || jif instanceof HistogramFrame )  
		{
            for(int loop=0; loop < frame_list.size(); loop++)
            {
                ImageFrame j = (ImageFrame) frame_list.get(loop);

                if(jif.getTitle().equalsIgnoreCase( j.getTitle() ) )
                {
                    //get matching histogramFrame
                    HistogramFrame hf = (HistogramFrame) histFrame_list.get(loop);
                    showInfoFrame( false );       //close info frame for this window (if open)
                    histFrame_list.remove( loop ); //remove HistogramFrame from arrayList
                    hf.dispose();
                    frame_list.remove( loop );  //remove ImageFrame from arrayList
                }
            }
            updateDocTitles();
        }
        else // JIPTInfoFrame
            info_frame.setEnabled( false ); //just hide Info Frame

        //disable AtLeastOneFrameOpen actions
        if( this.frame_list.isEmpty() )
            main_frame.menu_bar.disableAtLeastOneFrameOpenActions();
	}