/**
  * Parses a class.
  *
  * @param ResourceInterface $resource
  * @param string            $entityClass
  * @param string            $io
  *
  * @return array
  */
 private function parseClass(ResourceInterface $resource, $entityClass, $io)
 {
     $classMetadata = $this->classMetadataFactory->getMetadataFor($entityClass, $resource->getNormalizationGroups(), $resource->getDenormalizationGroups(), $resource->getValidationGroups());
     $data = array();
     foreach ($classMetadata->getAttributes() as $attributeMetadata) {
         if (!$attributeMetadata->isIdentifier() && $attributeMetadata->isReadable() && self::OUT_PREFIX === $io || $attributeMetadata->isWritable() && self::IN_PREFIX === $io) {
             $data[$attributeMetadata->getName()] = $this->parseAttribute($resource, $attributeMetadata, $io);
         }
     }
     return $data;
 }