code: @Override
    public void onParentRunning() {
      LOG.entering("TaskNodeImpl", "onParentRunning", getQualifiedName());
      if (parent != null && parent.isRunning()) {
        final int parentVersion = parent.getVersion();
        final String parentTaskId = parent.getTaskId();
        final GroupCommunicationMessage gcm = Utils.bldVersionedGCM(groupName, operName,
            ReefNetworkGroupCommProtos.GroupCommMessage.Type.ParentAdd, parentTaskId,
            parentVersion, taskId, version.get(),
            Utils.EMPTY_BYTE_ARR);
        taskNodeStatus.expectAckFor(gcm.getType(), gcm.getSrcid());
        senderStage.onNext(gcm);
      } else {
        LOG.finer(getQualifiedName() + "Parent was running when I was asked to add him."
            + " However, he is not active anymore. Returning without sending ParentAdd" + " msg. ***CHECK***");
      }
      LOG.exiting("TaskNodeImpl", "onParentRunning", getQualifiedName());
    }
docs: * Methods pertaining to my status change ends ***.