code: private boolean scopeUpdatePermitted(final AnalysisJobBuilder sourceAnalysisJobBuilder,
              final ComponentBuilder componentBuilder) {
          if (sourceAnalysisJobBuilder != componentBuilder.getAnalysisJobBuilder()) {
              if (componentBuilder.getInput().length > 0 || componentBuilder.getComponentRequirement() != null) {
                  final String scopeText;
                  scopeText = LabelUtils.getScopeLabel(sourceAnalysisJobBuilder);
                  final int response = JOptionPane.showConfirmDialog(_graphContext.getVisualizationViewer(),
                          "This will move " + LabelUtils.getLabel(componentBuilder) + " into the " + scopeText
                                  + ", thereby losing its configured columns and/or requirements", "Change scope?",
                          JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE);
  
                  if (response == JOptionPane.CANCEL_OPTION) {
                      _graphContext.getJobGraph().refresh();
                      return false;
                  }
              }
          }
          return true;
      }
docs: This will check if components are in a different scope, and ask the user
  for permission to change the scope of the target component
  
  @return true if permitted or irrelevant, false if user refused a
  necessary scope change.