class CustomDataSourceResourceConverter extends ResourceConverterImpl<CustomReportDataSource, ClientCustomDataSource> {

    @Override
    protected void resourceSecureFieldsToClient(ClientCustomDataSource client, CustomReportDataSource serverObject, ToClientConversionOptions options) {
        final Map propertyMap = serverObject.getPropertyMap();
        if (propertyMap != null && !propertyMap.isEmpty()) {
            final Set<String> set = propertyMap.keySet();
            for (String key : set) {
                if (propertiesToIgnore.contains(key)) {
                    if (client.getProperties() == null) {
                        client.setProperties(new ArrayList<ClientProperty>());
                    } else {
                        client.setProperties(new ArrayList<ClientProperty>(client.getProperties()));
                    }
                    client.getProperties().add(new ClientProperty(key, (String)propertyMap.get(key)));
                }
            }
        }
    }

}