private PhysicalTypeMetadata getPhysicalTypeMetadata(final JavaType javaType) {
   final String declaredByMetadataId = typeLocationService.getPhysicalTypeIdentifier(javaType);
   if (StringUtils.isBlank(declaredByMetadataId)) {
     return null;
   }
   return (PhysicalTypeMetadata) metadataService.get(declaredByMetadataId);
 }
 /**
  * Returns details of the given Java type's members
  *
  * @param type the type for which to get the members (required)
  * @return <code>null</code> if the member details are unavailable
  */
 protected MemberDetails getMemberDetails(final JavaType type) {
   String physicalTypeIdentifier = typeLocationService.getPhysicalTypeIdentifier(type);
   if (physicalTypeIdentifier == null) {
     return null;
   }
   // We need to lookup the metadata we depend on
   final PhysicalTypeMetadata physicalTypeMetadata =
       (PhysicalTypeMetadata) metadataService.get(physicalTypeIdentifier);
   return getMemberDetails(physicalTypeMetadata);
 }