void makeDevice() {
if (!internal.hasDevice())
return;
Device d = internal.getDevice();
ObjectNode node = BidRequest.factory.objectNode();
if (d.hasIp()) node.put("ip",d.getIp());
if (d.hasLanguage()) node.put("language", d.getLanguage());
if (d.hasOs()) node.put("os",d.getOs());
if (d.hasOsv()) node.put("osv",d.getOsv());
if (d.hasCarrier()) node.put("carrier",d.getCarrier());
if (d.hasConnectiontype()) node.put("connectiontype",d.getConnectiontype().getNumber());
if (d.hasDidmd5()) node.put("didmd5",d.getDidmd5());
if (d.hasDidsha1()) node.put("didsha1",d.getDidsha1());
if (d.hasDpidsha1())node.put("dpidsha1",d.getDpidsha1());
if (d.hasDnt()) node.put("dnt",d.getDnt());
if (d.hasDevicetype()) node.put("devicetype", d.getDevicetype().getNumber());
if (d.hasUa()) node.put("ua", d.getUa());
if (d.hasJs()) node.put("js", d.getJs());
if (internal.getDevice().hasGeo()) addGeo(node,d.getGeo());
root.put("device", node);
}