/** * Creates and returns a deep copy of this object. * * @return a clone of this instance. */ public Object clone() { try { final Properties ret = (Properties) super.clone(); final Property[] props = this.getProperties(); final Property[] cloned = new Property[ props.length ]; for ( int i = props.length - 1; i >= 0; i-- ) { cloned[i] = (Property) props[i].clone(); } ret.setProperties( cloned ); return ret; } catch ( final CloneNotSupportedException e ) { throw new AssertionError( e ); } }
props.setProperties( (Property[]) transformed.values().toArray( new Property[ transformed.size() ] ) );
this.setProperties( (Property[]) props.toArray( new Property[ props.size() ] ) );
p.setProperties( (Property[]) dependencyProperties.values().toArray( new Property[ dependencyProperties.size() ] ) );
p.setProperties( (Property[]) declaredProperties.values().toArray( new Property[ declaredProperties.size() ] ) );