Program: 15505
Project: 15505
Buggy source:
/** 
 * @param msgClass
 * @param nextState
 * @return
 */
private TransitionAction<Cluster> newRefresh(final Class msgClass){
  return new TransitionAction<Cluster>(){
    private final SubjectRemoteCallbackFactory<RemoteCallback,Cluster> factory=Callbacks.newSubjectMessageFactory(msgClass,Cluster.this);
    @Override public final void leave(    final Cluster parent,    final Callback.Completion transitionCallback){
      Callback.Completion cb=new Callback.Completion(){
        @Override public void fire(){
          transitionCallback.fire();
        }
        @Override public void fireException(        Throwable t){
          if (t instanceof FailedRequestException) {
            if (Cluster.this.getState().hasPublicAddressing() && PublicAddressStateCallback.class.isAssignableFrom(msgClass)) {
              transitionCallback.fire();
            }
 else {
              transitionCallback.fireException(t);
            }
          }
 else {
            LOG.trace(t,t);
            transitionCallback.fireException(t);
          }
        }
      }
;
      try {
        if (ClusterLogMessageCallback.class.isAssignableFrom(msgClass)) {
          Callbacks.newRequest(this.factory.newInstance()).then(cb).execute(parent.getServiceEndpoint(),com.eucalyptus.component.id.Cluster.getLogClientPipeline()).getResponse().get();
        }
 else {
          Callbacks.newRequest(this.factory.newInstance()).then(cb).sendSync(parent.getServiceEndpoint());
        }
      }
 catch (      ExecutionException e) {
        if (e.getCause() instanceof FailedRequestException) {
          LOG.error(e.getCause().getMessage());
        }
 else         if (e.getCause() instanceof ConnectionException || e.getCause() instanceof IOException) {
        }
 else {
          LOG.error(e,e);
        }
      }
catch (      InterruptedException e) {
        LOG.error(e,e);
      }
    }
  }
;
}

Fixed version (ground truth):
/** 
 * @param msgClass
 * @param nextState
 * @return
 */
private TransitionAction<Cluster> newRefresh(final Class msgClass){
  return new TransitionAction<Cluster>(){
    private final SubjectRemoteCallbackFactory<RemoteCallback,Cluster> factory=Callbacks.newSubjectMessageFactory(msgClass,Cluster.this);
    @Override public final void leave(    final Cluster parent,    final Callback.Completion transitionCallback){
      Callback.Completion cb=new Callback.Completion(){
        @Override public void fire(){
          transitionCallback.fire();
        }
        @Override public void fireException(        Throwable t){
          if (t instanceof FailedRequestException) {
            if (Cluster.this.getState().hasPublicAddressing() && PublicAddressStateCallback.class.isAssignableFrom(msgClass)) {
              transitionCallback.fire();
            }
 else {
              transitionCallback.fireException(t);
            }
          }
 else {
            LOG.trace(t,t);
            transitionCallback.fireException(t);
          }
        }
      }
;
      try {
        if (ClusterLogMessageCallback.class.isAssignableFrom(msgClass)) {
          Callbacks.newRequest(this.factory.newInstance()).then(cb).execute(parent.getServiceEndpoint(),com.eucalyptus.component.id.ClusterController.getLogClientPipeline()).getResponse().get();
        }
 else {
          Callbacks.newRequest(this.factory.newInstance()).then(cb).sendSync(parent.getServiceEndpoint());
        }
      }
 catch (      ExecutionException e) {
        if (e.getCause() instanceof FailedRequestException) {
          LOG.error(e.getCause().getMessage());
        }
 else         if (e.getCause() instanceof ConnectionException || e.getCause() instanceof IOException) {
        }
 else {
          LOG.error(e,e);
        }
      }
catch (      InterruptedException e) {
        LOG.error(e,e);
      }
    }
  }
;
}