public function getImageObject($input, $identifier = null, $context = null)
    {
        if ($input instanceof AbstractLocalImage) {
            if (null !== $identifier) {
                $input->setIdentifier($identifier);
            }
            if (null !== $context) {
                $input->setContext($context);
            }

            return $input;
        }
        if ($input instanceof \SplFileInfo) {
            return new FileInfo($input, $identifier, $context);
        } elseif (\is_string($input)) {
            if (preg_match('/^[0-9a-f]{6,40}$/', $input)) {
                return new RokkaHash($input, $identifier, $context, $this);
            }

            return new FileInfo(new \SplFileInfo($input), $identifier, $context);
        }

        throw new \RuntimeException('getImageObject: Input could not be converted to a LocalImageAbstract object');
    }