function getPropertiesOf (...$types)
  {
    $result = [];
    $names  = $this->getPropertyNames ();
    if (isset($names))
      foreach ($names as $name)
        if (in_array ($this->getTypeOf ($name), $types))
          $result[$name] = $this->get ($name);
    return $result;
  }
function getPropertiesOf (...$types)
  {
    $result = [];
    $names  = $this->getPropertyNames ();
    if (isset($names))
      foreach ($names as $name)
        if (in_array ($this->getTypeOf ($name), $types))
          $result[$name] = $this->get ($name);
    return $result;
  }
function getPropertiesOf ( ... $ types ) { $ result = [ ] ; $ names = $ this -> getPropertyNames ( ) ; if ( isset ( $ names ) ) foreach ( $ names as $ name ) if ( in_array ( $ this -> getTypeOf ( $ name ) , $ types ) ) $ result [ $ name ] = $ this -> get ( $ name ) ; return $ result ; }
Returns a subset of the available properties, filtered by the a specific type IDs.

@param string[] $types One or moe of the {@see type}::XXX constants.
@return array A map of property name => property value.
Returns a subset of the available properties filtered by the a specific type IDs .