public static function create($getter_configuration)
{
$GETTERS = [self::TYPE_STRING_GETTER => StringGetter::getClassName(), self::TYPE_INTEGER_GETTER => IntegerGetter::getClassName(), self::TYPE_CHILDREN_GETTER => ChildrenGetter::getClassName(), self::TYPE_ELEMENT_GETTER => ElementGetter::getClassName(), self::TYPE_FRAGMENT_GETTER => FragmentGetter::getClassName(), self::TYPE_CONSTANT_GETTER => ConstantGetter::getClassName(), self::TYPE_NEXTSIBLING_GETTER => NextSiblingGetter::getClassName(), self::TYPE_NEXTSIBLINGELEMENT_GETTER => NextSiblingElementGetter::getClassName(), self::TYPE_EXISTS_GETTER => ExistsGetter::getClassName(), self::TYPE_JSON_GETTER => JSONGetter::getClassName(), self::TYPE_XPATH_GETTER => XpathGetter::getClassName(), self::TYPE_MULTIPLEELEMENTS_GETTER => MultipleElementsGetter::getClassName()];
$class = $getter_configuration['type'];
if (array_key_exists($class, $GETTERS)) {
$class = $GETTERS[$class];
}
$instance = new $class();
$instance->createFrom($getter_configuration);
return $instance;
}