docs: public float getMetallic()
      {
          Property p = getProperty(PropertyKey.METALLIC.m_key);
  
          if (null == p || null == p.getData())
          {
              throw new IllegalArgumentException("Metallic property not found");
          }
          Object rawValue = p.getData();
          if (rawValue instanceof java.nio.ByteBuffer)
          {
              java.nio.FloatBuffer fbuf = ((java.nio.ByteBuffer) rawValue).asFloatBuffer();
              return fbuf.get();
          }
          else
          {
              return (Float) rawValue;
          }
      }