Bug 563648: [RJ-Servi] Rearrange cleanup in RServiImpl.close

Change-Id: I1935ba0c9ec8dd36f3edf1d78e6f7ba5435e616a
diff --git a/servi/org.eclipse.statet.rj.servi/src/org/eclipse/statet/internal/rj/servi/RServiImpl.java b/servi/org.eclipse.statet.rj.servi/src/org/eclipse/statet/internal/rj/servi/RServiImpl.java
index 6b23de0..56ed8ec 100644
--- a/servi/org.eclipse.statet.rj.servi/src/org/eclipse/statet/internal/rj/servi/RServiImpl.java
+++ b/servi/org.eclipse.statet.rj.servi/src/org/eclipse/statet/internal/rj/servi/RServiImpl.java
@@ -184,6 +184,14 @@
 		this.rjs.setRjsProperties(properties);
 	}
 	
+	protected void dispose() {
+		RjsComConfig.unregisterClientComHandler(this.rjsId);
+		this.backend= null;
+		this.poolRef= null;
+		
+		this.rjs.disposeAllGraphics();
+	}
+	
 	@Override
 	public boolean isClosed() {
 		return this.rjs.isClosed();
@@ -205,10 +213,7 @@
 					e ));
 		}
 		finally {
-			this.poolRef= null;
-			this.backend= null;
-			RjsComConfig.unregisterClientComHandler(this.rjsId);
-			this.rjs.disposeAllGraphics();
+			dispose();
 		}
 	}