public function getAnnotation($annotationName)
    {
        if (empty($this->targetClass)) {
            throw new \RuntimeException("Runtime Error: Any class was defined as target to annotations handling.");
        }

        $annotationInstance = null;

        // if any method was specified as target just process class annotations
        if (empty($this->targetMethod)) {
            // if class annotations wasn't loaded before load it
            if (! array_key_exists('_class_', $this->annotations)) {
                $this->loadClassAnnotations();
            }
            // get annotation instance if defined
            if (array_key_exists($annotationName, $this->annotations['_class_'])) {
                $annotationInstance = $this->annotations['_class_'][$annotationName];
            }
        } else {
            // if method class annotations wasn't loaded before load it
            if (! array_key_exists($this->targetMethod, $this->annotations)) {
                $this->loadMethodAnnotations();
            }
            // get annotation instance if defined
            if (array_key_exists($annotationName, $this->annotations[$this->targetMethod])) {
                $annotationInstance = $this->annotations[$this->targetMethod][$annotationName];
            }
        }

        return $annotationInstance;
    }