private void updateSelectedChip(String selectedItem) {
		try {
			if (!selectedItem.isEmpty()) {
				ClassRecord classSet = this.directoryClasses.get(selectedItem);

				String className = classSet.getBaseClass().toString().substring(classSet.getBaseClass().toString().lastIndexOf(' ') + 1);

				String componentName = className.substring(className.lastIndexOf('.') + 1);
				try {
					ChipModel ic = (ChipModel) Class.forName(className).newInstance();
					this.updateChipDetails(ic);

					this.chipderivatives.removeAllItems();
					this.chipderivatives.addItem(componentName);
					Class<?>[] classArray = classSet.getClasses();
					for (int i = 0; i < classArray.length; i++) {
						if (!componentName.equals(classArray[i].getSimpleName())) {
							this.chipderivatives.addItem(classArray[i].getSimpleName());
						}
					}
				} catch (InstantiationException e1) {
					System.out.println("InstantiationException Error ");
				} catch (IllegalAccessException e1) {
					System.out.println("IllegalAccessException Error ");
				} catch (ClassNotFoundException e1) {
					System.out.println("ClassNotFoundException Error ");
				}
			}
		} catch (NullPointerException e1) {
		}
	}