UninstantiatedDescribable implements Serializable { @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; UninstantiatedDescribable that = (UninstantiatedDescribable) o; if (symbol != null ? !symbol.equals(that.symbol) : that.symbol != null) return false; if (klass != null ? !klass.equals(that.klass) : that.klass != null) return false; return arguments.equals(that.arguments); } UninstantiatedDescribable(String symbol, String klass, Map<String, ?> arguments);  UninstantiatedDescribable(Map<String, ?> arguments); UninstantiatedDescribable withArguments(Map<String, ?> arguments); @Nullable String getSymbol(); void setSymbol(String symbol); @Nullable String getKlass(); void setKlass(String klass); @CheckForNull DescribableModel getModel(); void setModel(DescribableModel model); Map<String, ?> getArguments(); boolean hasSoleRequiredArgument(); Map<String,Object> toMap(); Map<String,Object> toShallowMap(); @Deprecated Object instantiate(); Object instantiate(TaskListener listener); @Deprecated T instantiate(Class<T> base); T instantiate(Class<T> base, TaskListener listener); static UninstantiatedDescribable from(Object o); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); static final String ANONYMOUS_KEY; }
@Test public void equals() { assertEquals(make(),make()); assertEquals(make().hashCode(),make().hashCode()); }