code: public GVRShaderId getShaderType(Class<? extends GVRShader> shaderClass)
      {
          GVRShaderId shaderId = mShaderTemplates.get(shaderClass);
  
          if (shaderId == null)
          {
              GVRContext ctx = getGVRContext();
              shaderId = new GVRShaderId(shaderClass);
              mShaderTemplates.put(shaderClass, shaderId);
              shaderId.getTemplate(ctx);
          }
          return shaderId;
      }
docs: Retrieves the Material Shader ID associated with the
  given shader template class.
  
  A shader template is capable of generating multiple variants
  from a single shader source. The exact vertex and fragment
  shaders are generated by GearVRF based on the lights
  being used and the material attributes. you may subclass
  GVRShaderTemplate to create your own shader templates.
  
  @param shaderClass shader class to find (subclass of GVRShader)
  @return GVRShaderId associated with that shader template
  @see GVRShaderTemplate GVRShader