private String getArtifactId(DefaultCoreExtension extension) throws ResolveException {
    Model model = (Model) extension.getProperty(MavenCoreExtension.PKEY_MAVEN_MODEL);

    String artifactId;
    if (model != null) {
      artifactId = model.getArtifactId();
    } else {
      Matcher matcher = PARSER_ID.matcher(extension.getId().getId());
      if (!matcher.matches()) {
        throw new ResolveException(
            "Bad id "
                + extension.getId().getId()
                + ", expected format is <groupId>:<artifactId>[:<classifier>]");
      }
      artifactId = matcher.group(2);
    }

    return artifactId;
  }