code: void callErrorCallback(VirtualConnection inVC, IOException ioe) {
          // otherwise pass the error along to the channel above us, or close
          // the connection if nobody is above
          setPersistent(false);
          if (this.bEarlyReads && null != getAppReadCallback()) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Early read failure calling error() on appside");
              }
              getAppReadCallback().error(inVC, ioe);
          } else if (null != getAppWriteCallback()) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Calling write.error() on appside");
              }
              getAppWriteCallback().error(inVC, ioe);
          } else {
              // nobody above us, just close the connection
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "No appside, closing connection");
              }
              getLink().getDeviceLink().close(inVC, ioe);
          }
      }
docs: Call the error callback of the app above.
  
  @param inVC
  @param ioe