RuleImpl implements Rule { static RuleImpl fromValues(final RuleId id, final String object, final Boolean deferred, final String description, final String test, final ErrorDetails error, final List<Reference> references) { return new RuleImpl(RuleIdImpl.fromRuleId(id), object, deferred, description, test, error, references); } private  RuleImpl(); private  RuleImpl(final RuleId id, final String object, final Boolean deferred,
            final String description, final String test,
            final ErrorDetails error, final List<Reference> references); @Override RuleId getRuleId(); @Override String getObject(); @Override Boolean getDeferred(); @Override String getDescription(); @Override String getTest(); @Override ErrorDetails getError(); @Override List<Reference> getReferences(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test public final void testFromValues() { RuleImpl rule = RuleImpl .fromValues(Profiles.defaultRuleId(), "object", null, "description", "test", ErrorDetailsImpl.defaultInstance(), Collections.<Reference> emptyList()); Rule defaultInstance = RuleImpl.defaultInstance(); assertFalse(rule == defaultInstance); assertTrue(rule.equals(defaultInstance)); }