class GeosupportServiceImpl implements GeosupportService {

    @Override
    public Map<String, Object> callFunction1B(final String houseNumber, final String street, final String borough,
            final String zip) {
        return new Call(serviceConfiguration.function1B(), serviceConfiguration.latLongEnhancer()) {
            @Override
            public Map<String, Object> userArguments() {
                Map<String, Object> params = newMap();
                if (houseNumber != null) {
                    params.put(HOUSE_NUMBER, houseNumber);
                }

                params.put(STREET_NAME, street);

                if (borough != null) {
                    params.put(BOROUGH_CODE, Boroughs.parseInt(borough));
                }

                if (zip != null) {
                    params.put(ZIP_CODE, zip);
                }
                return params;
            }
        }.execute();
    }

    public  GeosupportServiceImpl(AppConfig serviceConfiguration);

}