if ( !"".equals(message.signature()) ){
long res = PointerTool.getPeer(
msgPointer(cls("NSMethodSignature"), "signatureWithObjCTypes:", message.signature())
);
return res;
} else if ( !"".equals(message.like())){
String[] parts = message.like().split("\\.");
Proxy instance = client.chain(parts[0], "alloc").chain("init");
Pointer out = msgPointer(instance.getPeer(), "methodSignatureForSelector:", sel(parts[1]));
return PointerTool.getPeer(out);
}