}
JsonNode rootNode = doParseURL( urlBuilder.toString() );
JsonNode pNode = rootNode.path( "provider" );
Provider provider = new Provider();
provider.setServiceAreas( new ArrayList<String>() );
provider.setLaboratories( new ArrayList<String>() );
provider.setKeywords( new ArrayList<String>() );
provider.setCertifications( new ArrayList<String>() );
provider.setProfessionalAssociations( new ArrayList<String>() );
provider.setId( pNode.path( "id" ).getTextValue() );
provider.setSlug( pNode.path( "slug" ).getTextValue() );
provider.setName( pNode.path( "name" ).getTextValue() );
provider.setPhoneNumber( pNode.path( "phone_number" ).getTextValue() );
provider.setWebsite( pNode.path( "website" ).getTextValue() );
provider.setServiceAreas( doArray( pNode.path( "service_areas" )));
provider.setHeadquarters( pNode.path( "headquarters" ).getTextValue() );
provider.setLaboratories( doArray( pNode.path( "laboratories" )));
provider.setYearEstablished( pNode.path( "year_established" ).getIntValue() );
provider.setNumEmployees( pNode.path( "number_of_employees" ).asText() );
provider.setDescription( pNode.path( "description" ).getTextValue() );
provider.setKeywords( doArray( pNode.path( "keywords" )));
provider.setCertifications( doArray( pNode.path( "certifications" )));
provider.setProfessionalAssociations( doArray( pNode.path( "professional_associations" )));
provider.setPermission( pNode.path( "permission" ).getTextValue() );
provider.setOrigin( pNode.path( "origin" ).getTextValue() );
provider.setGreen( pNode.path( "green" ).asBoolean() );
provider.setGreenExplanation( pNode.path( "green_explaination" ).getTextValue() );
provider.setDiversity( pNode.path( "diversity" ).asBoolean() );
provider.setDiversityExplanation( pNode.path( "diversity_explaination" ).getTextValue() );
provider.setCreatedAt( pNode.path( "created_at" ).asText() );
provider.setUpdatedAt( pNode.path( "updated_at" ).asText() );
provider.setUrls( doStringMap( pNode.path( "urls") ));
return provider;
}