if (ChainBuilderAgent.DEBUG) System.err.println("finishing link");
	private void finishParamLink() {		if (lastParameterEntered.getModuleView() == linkOrigin.getModuleView()) {			showSelfLinkError();			cancelParamLink();		}		else if (lastParameterEntered.getClass() == linkOrigin.getClass()) {			showParameterInputOutputConflictError(linkOrigin);			cancelParamLink();		}		else if (lastParameterEntered.isLinkable() == true) {						if (linkOrigin.sameTypeAs(lastParameterEntered) ==false) {				showParamterTypeMisMatchError();				cancelParamLink();			}			else {			//System.err.println("finishing link");				link.setEndParam(lastParameterEntered);				if (foundCycle() ==false) {					link.setPickable(true);					// 	add the {@link ModuleViewLink} between the modules					linkLayer.completeLink(link);					cleanUParamLink();				}				else {					canvas.setStatusLabel(NO_CYCLES);					cancelParamLink();				}			}		}		else {			canvas.setStatusLabel(MULT_LINKS);			cancelParamLink();		}		//System.err.println("finishParamLink. state is NOT_LINKING");		linkState = NOT_LINKING;	}