fDocument.removePositionCategory(fPositionCategoryName);  } catch (BadLocationException e) { JavaPlugin.log(e); Assert.isTrue(false);  } catch (BadPositionCategoryException e) { JavaPlugin.log(e); Assert.isTrue(false);  } finally { fDocument.removePositionUpdater(this); fgActiveManagers.remove(fDocument);
try { Position[] positions= getPositions(fDocument); if ((!success) && (positions != null)) {  for (int i= 0; i != positions.length; i++) { TypedPosition position= (TypedPosition) positions[i]; fDocument.replace(position.getOffset(), position.getLength(), position.getType()); } }  fDocument.removePositionCategory(fPositionCategoryName);  fIsActive= false;   } catch (BadLocationException e) { JavaPlugin.log(e); Assert.isTrue(false);  } catch (BadPositionCategoryException e) { JavaPlugin.log(e); Assert.isTrue(false);  } finally { fDocument.removePositionUpdater(this); fgActiveManagers.remove(fDocument); }
	public void uninstall(boolean success) {					fDocument.removeDocumentListener(this);		try {			Position[] positions= getPositions(fDocument);				if ((!success) && (positions != null)) {				// restore				for (int i= 0; i != positions.length; i++) {					TypedPosition position= (TypedPosition) positions[i];									fDocument.replace(position.getOffset(), position.getLength(), position.getType());				}			}								fDocument.removePositionCategory(fPositionCategoryName);		} catch (BadLocationException e) {			JavaPlugin.log(e);			Assert.isTrue(false);		} catch (BadPositionCategoryException e) {			JavaPlugin.log(e);			Assert.isTrue(false);		} finally {			fDocument.removePositionUpdater(this);					fgActiveManagers.remove(fDocument);				}	}