[protocolbuffers\message] improve message constructor. now accepts recursive message