[protocolbuffers\descriptor] improve getFields and getField implementation