protected final Socket getRootSocket(Object target) {
        if (target instanceof TNonblockingTransportFieldGetter) {
            TNonblockingTransport inTrans = ((TNonblockingTransportFieldGetter) target)._$PINPOINT$_getTNonblockingTransport();
            if (inTrans != null) {
                if (inTrans instanceof SocketFieldAccessor) {
                    return ((SocketFieldAccessor) inTrans)._$PINPOINT$_getSocket();
                } else {
                    if (isDebug) {
                        logger.debug("Invalid target object. Need field accessor({}).", SocketFieldAccessor.class.getName());
                    }
                }
            }
        }
        return null;
    }
Base interceptor for retrieving the socket information from a TTransport field, and injecting it into a transport wrapping it.

@author HyunGil Jeong
agent-module/plugins/thrift/src/main/java/com/navercorp/pinpoint/plugin/thrift/interceptor/server/nonblocking/FrameBufferTransportInjectInterceptor.java