/** * @return Neon\Entity * @internal */ public static function statementToEntity(Statement $val) { array_walk_recursive($val->arguments, function (&$val) { if ($val instanceof Statement) { $val = NeonAdapter::statementToEntity($val); } }); if (is_array($val->entity) && $val->entity[0] instanceof Statement) { return new Neon\Entity(Neon\Neon::CHAIN, array(self::statementToEntity($val->entity[0]), new Neon\Entity('::' . $val->entity[1], $val->arguments))); } else { return new Neon\Entity($val->entity, $val->arguments); } }