@Override public void visitProcessorOutputPortBinding(ProcessorOutputPortBinding bean) { ProcessorBinding parent = bean.getParent(); OutputProcessorPort boundProcessorPort = bean.getBoundProcessorPort(); OutputActivityPort boundActivityPort = bean.getBoundActivityPort(); if (parent != null) { Processor boundProcessor = parent.getBoundProcessor(); if (boundProcessorPort != null) { Processor boundPortProcessor = findAncestral(boundProcessorPort, Processor.class); if ((boundProcessor == null) || !boundProcessor.equals(boundPortProcessor)) listener.outOfScopeValue(bean, "boundProcessorPort", boundProcessorPort); } Activity boundActivity = parent.getBoundActivity(); if (boundActivityPort != null) { Activity boundPortActivity = findAncestral(boundActivityPort, Activity.class); if ((boundActivity == null) || !boundActivity.equals(boundPortActivity)) listener.outOfScopeValue(bean, "boundActivityPort", boundActivityPort); } } if (checkComplete) { if (boundProcessorPort == null) listener.nullField(bean, "boundProcessorPort"); if (boundActivityPort == null) listener.nullField(bean, "boundActivityPort"); } }