private static BinaryMessages.DynamicField.Builder buildDynamicField( Object value) { BinaryMessages.DynamicField.Builder fieldBuilder = BinaryMessages.DynamicField.newBuilder(); if(value instanceof String) { fieldBuilder.setType(BinaryMessages.DynamicField.Type.STRING); fieldBuilder.setStringValue((String)value); } else if(value instanceof Number) { fieldBuilder.setType(BinaryMessages.DynamicField.Type.NUM); fieldBuilder.setNumericValue(((Number)value).doubleValue()); } else if(value instanceof Boolean) { fieldBuilder.setType(BinaryMessages.DynamicField.Type.BOOL); fieldBuilder.setBooleanValue((Boolean) value); } return fieldBuilder; }