public static Object parse(Payload payload) {
        Class classType = PayloadRegistry.getClassByType(payload.getMetadata().getType());
        if (classType != null) {
            ByteString byteString = payload.getBody().getValue();
            ByteBuffer byteBuffer = byteString.asReadOnlyByteBuffer();
            Object obj = JacksonUtils.toObj(new ByteBufferBackedInputStream(byteBuffer), classType);
            if (obj instanceof Request) {
                ((Request) obj).putAllHeader(payload.getMetadata().getHeadersMap());
            }
            return obj;
        } else {
            throw new RemoteException(NacosException.SERVER_ERROR,
                    "Unknown payload type:" + payload.getMetadata().getType());
        }
    }
@Test
    void testParseNullType() {
        assertThrows(RemoteException.class, () -> {
            Payload mockPayload = mock(Payload.class);
            Metadata mockMetadata = mock(Metadata.class);
            when(mockPayload.getMetadata()).thenReturn(mockMetadata);
            GrpcUtils.parse(mockPayload);
        });
    }