// Path: node-projects/src/main/java/org/netbeans/modules/nodejs/api/ProjectMetadata.java
// public interface ProjectMetadata {
//     public static final String PROP_MAIN_FILE = "main"; //NOi18N
//     public static final String PROP_TEST_SCRIPT = "scripts.test"; //NOi18N
//     public static final String PROP_NAME = "name"; //NOi18N
//     public static final String PROP_DESCRIPTION = "description"; //NOi18N
//     public static final String PROP_LICENSE_KIND = "license.type"; //NOi18N
//     public static final String PROP_LICENSE_URL = "license.url"; //NOi18N
//     public static final String PROP_AUTHOR_NAME = "author.name"; //NOi18N
//     public static final String PROP_AUTHOR_EMAIL = "author.email"; //NOi18N
//     public static final String PROP_AUTHOR_URL = "author.url"; //NOi18N
//     public static final String PROP_BUG_URL = "bugs.url"; //NOi18N
//     public static final String PROP_KEYWORDS = "keywords"; //NOi18N
//     public static final String PROP_VERSION = "version"; //NOi18N
// 
//     public String getValue ( String key );
// 
//     public void setValue ( String key, String value );
// 
//     public void save () throws IOException;
// 
//     public void addPropertyChangeListener ( PropertyChangeListener pcl );
// 
//     public void addMap ( String key, Map<String, Object> m );
// 
//     public Map<String, Object> getMap ( String key );
// 
//     public void clearValue ( String key );
// 
//     public void addList ( String key, List<?> l );
// 
//     public <T> T setValueAs ( String key, T obj );
// }


import java.io.File;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.netbeans.api.project.Project;
import org.netbeans.modules.nodejs.api.ProjectMetadata;
        version = v;
    }

    public Map<String, Object> toMap() {
        Map<String, Object> result = new LinkedHashMap<>();
        result.put("groupId", groupId); //NOI18N
        result.put("artifactId", artifactId); //NOI18N
        result.put("version", version); //NOI18N
        return result;
    }

    public String toString() {
        String base = System.getProperty("user.home") + File.separatorChar + ".m2" + File.separatorChar + "repository"; //NOI18N
        return base + File.separatorChar + groupId + File.separatorChar + artifactId + File.separatorChar + version;
    }

    public boolean equals(Object o) {
        if (o instanceof JavaDependency) {
            JavaDependency jd = (JavaDependency) o;
            return artifactId.equals(jd.artifactId)
                    && groupId.equals(jd.groupId);
        }
        return false;
    }

    public int hashCode() {
        return artifactId.hashCode() + (71 * groupId.hashCode());
    }

    public static void find(Project project, List<? super JavaDependency> deps) {
// Path: node-projects/src/main/java/org/netbeans/modules/nodejs/api/ProjectMetadata.java
// public interface ProjectMetadata {
//     public static final String PROP_MAIN_FILE = "main"; //NOi18N
//     public static final String PROP_TEST_SCRIPT = "scripts.test"; //NOi18N
//     public static final String PROP_NAME = "name"; //NOi18N
//     public static final String PROP_DESCRIPTION = "description"; //NOi18N
//     public static final String PROP_LICENSE_KIND = "license.type"; //NOi18N
//     public static final String PROP_LICENSE_URL = "license.url"; //NOi18N
//     public static final String PROP_AUTHOR_NAME = "author.name"; //NOi18N
//     public static final String PROP_AUTHOR_EMAIL = "author.email"; //NOi18N
//     public static final String PROP_AUTHOR_URL = "author.url"; //NOi18N
//     public static final String PROP_BUG_URL = "bugs.url"; //NOi18N
//     public static final String PROP_KEYWORDS = "keywords"; //NOi18N
//     public static final String PROP_VERSION = "version"; //NOi18N
// 
//     public String getValue ( String key );
// 
//     public void setValue ( String key, String value );
// 
//     public void save () throws IOException;
// 
//     public void addPropertyChangeListener ( PropertyChangeListener pcl );
// 
//     public void addMap ( String key, Map<String, Object> m );
// 
//     public Map<String, Object> getMap ( String key );
// 
//     public void clearValue ( String key );
// 
//     public void addList ( String key, List<?> l );
// 
//     public <T> T setValueAs ( String key, T obj );
// }


// Path: avatar-platform/src/main/java/org/netbeans/modules/avatar/platform/JavaDependency.java
import java.io.File;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.netbeans.api.project.Project;
import org.netbeans.modules.nodejs.api.ProjectMetadata;

        version = v;
    }

    public Map<String, Object> toMap() {
        Map<String, Object> result = new LinkedHashMap<>();
        result.put("groupId", groupId); //NOI18N
        result.put("artifactId", artifactId); //NOI18N
        result.put("version", version); //NOI18N
        return result;
    }

    public String toString() {
        String base = System.getProperty("user.home") + File.separatorChar + ".m2" + File.separatorChar + "repository"; //NOI18N
        return base + File.separatorChar + groupId + File.separatorChar + artifactId + File.separatorChar + version;
    }

    public boolean equals(Object o) {
        if (o instanceof JavaDependency) {
            JavaDependency jd = (JavaDependency) o;
            return artifactId.equals(jd.artifactId)
                    && groupId.equals(jd.groupId);
        }
        return false;
    }

    public int hashCode() {
        return artifactId.hashCode() + (71 * groupId.hashCode());
    }

    public static void find(Project project, List<? super JavaDependency> deps) {
        ProjectMetadata meta = project.getLookup().lookup(ProjectMetadata.class);