in maven-3.0.x/src/main/java/org/sonatype/aether/util/artifact/DefaultArtifact.java [180:204]
public DefaultArtifact( String groupId, String artifactId, String classifier, String extension, String version,
Map<String, String> properties, ArtifactType type )
{
this.groupId = emptify( groupId );
this.artifactId = emptify( artifactId );
if ( classifier != null || type == null )
{
this.classifier = emptify( classifier );
}
else
{
this.classifier = emptify( type.getClassifier() );
}
if ( extension != null || type == null )
{
this.extension = emptify( extension );
}
else
{
this.extension = emptify( type.getExtension() );
}
this.version = emptify( version );
this.file = null;
this.properties = merge( properties, ( type != null ) ? type.getProperties() : null );
}