code: public static MavenCoordinate createCoordinate(final String groupId, final String artifactId, final String version,
          final PackagingType packaging, final String classifier) throws IllegalArgumentException {
          if (groupId == null || groupId.length() == 0) {
              throw new IllegalArgumentException("groupId is required");
          }
          if (artifactId == null || artifactId.length() == 0) {
              throw new IllegalArgumentException("artifactId is required");
          }
          final MavenCoordinateImpl coordinate = new MavenCoordinateImpl(groupId, artifactId, version, packaging,
              classifier);
          return coordinate;
      }
docs: Creates a new {@link MavenCoordinate} instance from the specified arguments
  
  @param groupId A groupId of the new {@link MavenCoordinate} instance
  @param artifactId An artifactId of the new {@link MavenCoordinate} instance
  @param version A version of the new {@link MavenCoordinate} instance
  @param packaging A packaging of the new {@link MavenCoordinate} instance
  @param classifier A classifier of the new {@link MavenCoordinate} instance
  @return A new {@link MavenCoordinate} instance
  @throws IllegalArgumentException
  If <code>groupId</code> or <code>artifactId</code> is not specified