/** * If there is no registered {@link Activator} for the {@code operator} and/or no * {@link Activation}, then these will be created, registered, and connected. * * @param operator */ private void addAndRegisterActivator(Operator operator) { // The operator should not have been processed yet. assert !this.createdActivators.containsKey(operator); // Otherwise, try to create the activator. Activator activator = this.createActivator(operator); // Register existing dependent activators. for (OutputSlot<?> outputSlot : operator.getAllOutputs()) { this.registerDependentActivations(outputSlot, activator); } // Register with required activators. this.registerAsDependentActivation(activator); }