code: function(cb){
  				// validate proposer ID
  				byzantine.getCoordinators(conn, objUnit.hp, objJoint.phase, function(err, proposer, round_index, witnesses){	
  					if(err)
  						return cb("error occured when getCoordinators err:" + err);		
  					if(proposer !== objJoint.proposer[0].address)
  						return cb("proposer incorrect,Expected: "+ proposer +" Actual :" + objJoint.proposer[0].address);
  					if(round_index !== objUnit.round_index)
  						return cb("proposer round_index incorrect ,Expected: "+ round_index +" Actual :" + objUnit.round_index);
  					objValidationState.unit_hash_to_sign = objectHash.getProposalHashToSign(objUnit);
  					//validate proposer signature
  					validateProposer(conn, objJoint.proposer[0], objUnit, objValidationState, cb);
  				});
  			}
docs: function(cb){ profiler.stop('validation-parents'); profiler.start(); !objJoint.skiplist_units ? cb() : validateSkiplist(conn, objJoint.skiplist_units, cb); },