code: @Override
  	public Map<String, String> toProperties() {
  		DescriptorProperties properties = new DescriptorProperties();
  
  		// this performs only basic validation
  		// more validation can only happen within a factory
  		if (connectorDescriptor.isFormatNeeded() && !formatDescriptor.isPresent()) {
  			throw new ValidationException(String.format("The connector %s requires a format description.", connectorDescriptor.toString()));
  		} else if (!connectorDescriptor.isFormatNeeded() && formatDescriptor.isPresent()) {
  			throw new ValidationException(
  				String.format("The connector %s does not require a format description " +
  				"but %s found.", connectorDescriptor.toString(), formatDescriptor.get().toString()));
  		}
  
  		properties.putProperties(connectorDescriptor.toProperties());
  
  		formatDescriptor.ifPresent(s -> properties.putProperties(s.toProperties()));
  		schemaDescriptor.ifPresent(s -> properties.putProperties(s.toProperties()));
  
  		return properties.asMap();
  	}
docs: Converts this descriptor into a set of properties.