*/
@Requires({"descriptor != null", "name != null", "genomeLocParser != null"})
@Ensures("result != null")
public FeatureCodec createCodec(final FeatureDescriptor descriptor, final String name, final GenomeLocParser genomeLocParser,
final String remappedSampleName) {
FeatureCodec codex = pluginManager.createByType(descriptor.getCodecClass());
if ( codex instanceof NameAwareCodec )
((NameAwareCodec)codex).setName(name);
if ( codex instanceof ReferenceDependentFeatureCodec )
((ReferenceDependentFeatureCodec)codex).setGenomeLocParser(genomeLocParser);
if ( codex instanceof AbstractVCFCodec ) {