if (serviceInfo.properties.containsKey("Definition")) {
try { // we catch classcast etc..., if it fails it is not important
final InputStream is = new ByteArrayInputStream(serviceInfo.properties.getProperty("Definition").getBytes());
final Properties p = new SuperProperties();
IO.readProperties(is, p);
for (final Map.Entry<Object, Object> entry : p.entrySet()) {
final String key = entry.getKey().toString();
if (!props.containsKey(key)
// never override from Definition, just use it to complete the properties set
&&
!(key.equalsIgnoreCase("url") &&