if (glsSubscription != null && glsSubscription.hasChanged()) {
if ((glsSubscription != null) && (!glsSubscription.isEmpty()) && (glsSubscription.hasChanged())) {
  public synchronized void execute() {        if (mySelfOrgs != null && mySelfOrgs.hasChanged()) {      if (logger.isDebugEnabled())	logger.debug(getAgentIdentifier() + ".execute: selfOrgs sub has changed");      processOrgAssets(mySelfOrgs.getAddedList());    } else {      if (logger.isDebugEnabled())	logger.debug(getAgentIdentifier() + ".execute: selfOrgs sub is " + mySelfOrgs + ((mySelfOrgs != null) ? (" and not changed. It has " + mySelfOrgs.size() + " elements.") : " so must have done processOrgAssets."));    }    if (glsSubscription != null && glsSubscription.hasChanged()) {      if (logger.isDebugEnabled())	logger.debug(getAgentIdentifier() + ".execute: have a changed glsSub - will do requestOplans");      // It is very hard to process gls tasks incrementally because of      // possible oplan removes, etc. In addition, there are      // relatively few (e.g. one) such tasks, so we simply reprocess      // all gls tasks whenever there are any changes            requestOplans(lastGLSTask());    } else if (logger.isInfoEnabled()) {      logger.info(getAgentIdentifier() + ".execute not requesting oplans. " + ((glsSubscription != null) ? ("Have a glsSub. Not apparently changed. It has " + glsSubscription.size() + " GLS Tasks.") : "No glsSub. Have not yet apparently done processOrgAssets"));    }  }