Constructs a Plugin object.
Builds up the plugin definition and invokes the get() method for any classed annotations that were used.
public function __construct($values) {
$reflection = new \ReflectionClass($this);
// Only keep actual default values by ignoring NULL values.
$defaults = array_filter($reflection
->getDefaultProperties(), function ($value) {
return $value !== NULL;
});
$parsed_values = $this
->parse($values);
$this->definition = NestedArray::mergeDeep($defaults, $parsed_values);
}