code: private PropertyAdapter create(Map options) throws KNXException
  	{
  		// add a log writer for the console (System.out), setting a
  		// user log level, if specified
  		LogManager.getManager().addWriter(null,
  			new ConsoleWriter(options.containsKey("verbose")));
  		// create local and remote socket address for use in adapter
  		final InetSocketAddress local =
  			createLocalSocket((InetAddress) options.get("localhost"), (Integer) options
  				.get("localport"));
  		final InetSocketAddress host =
  			new InetSocketAddress((InetAddress) options.get("host"), ((Integer) options
  				.get("port")).intValue());
  		// decide what type of adapter to create
  		if (options.containsKey("localDM"))
  			return createLocalDMAdapter(local, host, options);
  		return createRemoteAdapter(local, host, options);
  	}
docs: Creates the property adapter to be used with the property client depending on the
  supplied user <code>options</code>.
  <p>
  There are two types of property adapters. One uses KNXnet/IP local device
  management to access KNX properties in an interface object, the other type uses
  remote property services. The remote adapter needs a KNX network link to access the
  KNX network, the link is also created by this method if this adapter type is
  requested.
  
  @param options contains parameters for property adapter creation
  @return the created adapter
  @throws KNXException on adapter creation problem