@Override
	public AbstractOrocosComponent getComponent(String componentName, boolean introspect)
			throws SystemNotConnectedException {
		CTaskContext taskContext;
		try {
			if(orocosContext == null){
				throw new SystemNotConnectedException(); 
			}

			org.omg.CORBA.Object o = orocosContext.resolve_str(componentName);//resolve(blistHolder.value[i].binding_name);
			taskContext = CTaskContextHelper.narrow(o);
			if(taskContext != null){
				logger.info("The component " + componentName + " has been found");
				return new CorbaOrocosComponent(taskContext, introspect);
			}
			return null;


		}catch (NotFound e) {
			logger.error("The component " + componentName + " has not been found");
			e.printStackTrace();
			return null;
		} catch (CannotProceed e) {
			logger.error("JacORB error, control the class OrocoSystem, method getComponents");
			e.printStackTrace();
			return null;
		} catch (org.omg.CosNaming.NamingContextPackage.InvalidName e) {
			logger.error("JacORB error, control the class OrocoSystem, method getComponents");
			e.printStackTrace();
			return null;
		}
	}