protected String resolveArtifactFromGroupArtifactId(String request) {
    List<String> tokens = new ArrayList<String>();
    Scanner tokenizer = new Scanner(request).useDelimiter(":");
    while (tokenizer.hasNext()) {
      tokens.add(tokenizer.next());
    }

    checkArgument(tokens.size() > 1, "Require groupId:artifactId[:version]");
    checkArgument(tokens.size() < 4, "Require groupId:artifactId[:version]");

    if (tokens.size() == 3) {
      return request;
    }


    String resolvedArtifactId = loadProperty(request, "[0,)");
    return tokens.get(0) + ":" + tokens.get(1) + ":" + resolvedArtifactId;
  }