code: private void registerClassTemplateSpec(DataSchema schema, ClassTemplateSpec classTemplateSpec)
    {
      classTemplateSpec.setLocation(currentLocation().toString());
      _schemaToClassMap.put(schema, classTemplateSpec);
      _classNameToSchemaMap.put(classTemplateSpec.getFullName(), schema);
      _classToDataSchemaLocationMap.put(classTemplateSpec, currentLocation());
  
      if (schema instanceof NamedDataSchema)
      {
        checkClassNameForSpecialSuffix(classTemplateSpec.getFullName());
      }
  
      _classTemplateSpecs.add(classTemplateSpec);
    }
docs: Register a new class TemplateSpec.
  <p/>
  Registration is necessary to associate the {@link com.linkedin.pegasus.generator.spec.ClassTemplateSpec} with the source file for which it was generated. This may be used later to determine if generated class should be emitted
  based on the location of the source file.
  <p/>
  Registration also associates the {@link com.linkedin.data.schema.DataSchema} to the generated {@link com.linkedin.pegasus.generator.spec.ClassTemplateSpec} and the generated class's full name to the the {@link com.linkedin.pegasus.generator.spec.ClassTemplateSpec}.
  
  @param schema            provides the {@link com.linkedin.data.schema.DataSchema} of the generated class.
  @param classTemplateSpec provides the generated class.