/**
  * Reads class metadata for a new and unparsed class
  *
  * @param string $class
  * @return ClassMetadataInterface
  */
 private function parseClassMetadata($class)
 {
     $metadata = new ClassMetadata($class);
     //Load up parent and interfaces
     $this->loadParentMetadata($metadata);
     $this->loadInterfaceMetadata($metadata);
     //Load Annotations from Reader
     $this->loader->loadClassMetadata($metadata);
     //Store internally
     $this->setParsedClass($class, $metadata);
     if ($this->cache !== null) {
         $this->cache->save($class, $metadata);
     }
     return $metadata;
 }