RuleImpl implements Rule { static RuleImpl fromRule(final Rule toConvert) { return RuleImpl.fromValues( RuleIdImpl.fromRuleId(toConvert.getRuleId()), toConvert.getObject(), toConvert.getDeferred(), toConvert.getDescription(), toConvert.getTest(), toConvert.getError(), toConvert.getReferences()); } 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 testFromRule() { Rule rule = RuleImpl.fromRule(RuleImpl.defaultInstance()); Rule defaultInstance = RuleImpl.defaultInstance(); assertFalse(rule == defaultInstance); assertTrue(rule.equals(defaultInstance)); }