protected void generateRequiredContingentDefinitions() {
    List<IDefinition> definitons = classDefinition.getContingentDefinitions();
    for (IDefinition definition : definitons) {
      if (!definition.isContingentNeeded(classScope.getProject())) continue;

      assert (definition instanceof VariableDefinition)
          : "The code generator only supports contigent variable definitions";

      final IDefinitionNode node = definition.getNode();
      declareVariable(
          (VariableNode) node,
          (VariableDefinition) definition,
          definition.isStatic(),
          definition instanceof IConstantDefinition,
          LexicalScope.noInitializer);
    }
  }