code: private CustomFieldDefinition getCustomFieldDefinitionType(JsonNode jn) throws IOException {
  		if (jn.isArray()) {
  			JsonNode jn1 = jn.get(0);
  			String type = jn1.get(TYPE).textValue();
  			try {
  				return (CustomFieldDefinition) Class.forName("com.intuit.ipp.data." + type + "CustomFieldDefinition").newInstance();
  			} catch (Exception e) {
  				throw new IOException("Exception while deserializing CustomFieldDefinition", e);
  			}
  		}
  		
  		return null;
  	}
docs: Method to get the CustomFieldDefinition implementation type object
  
  @param jn the Json Node
  @return CustomFieldDefinition implementation reference
  @throws IOException