class SourceMappingImpl extends MappingImpl implements SourceMapping {
  private final Class<?> sourceType;

  /**
   * Creates an explicit SourceMappingImpl.
   */
  SourceMappingImpl(Class<?> sourceType, List<Mutator> destinationMutators, MappingOptions options) {
    super(destinationMutators, options);
    this.sourceType = sourceType;
  }

  @Override
  public Class<?> getSourceType() {
    return sourceType;
  }

  @Override
  public String toString() {
    return String.format("SourceMapping[%s -> %s]", sourceType,
        Strings.joinWithFirstType(getDestinationProperties()));
  }

  @Override
  public InternalMapping createMergedCopy(List<? extends PropertyInfo> mergedAccessors,
      List<? extends PropertyInfo> mergedMutators) {<FILL_FUNCTION_BODY>}
}

    List<PropertyInfo> mutators = new ArrayList<PropertyInfo>();
    mutators.addAll(mergedMutators);
    mutators.addAll(getDestinationProperties());
    return new PropertyMappingImpl(mergedAccessors, mutators, getOptions());
  
<methods>public int compareTo(org.modelmapper.internal.MappingImpl) ,public boolean equals(java.lang.Object) ,public Condition<?,?> getCondition() ,public Converter<?,?> getConverter() ,public List<? extends org.modelmapper.spi.PropertyInfo> getDestinationProperties() ,public org.modelmapper.spi.PropertyInfo getLastDestinationProperty() ,public java.lang.String getPath() ,public Provider<?> getProvider() ,public int hashCode() ,public boolean isExplicit() ,public boolean isSkipped() <variables>private Condition<?,?> condition,protected Converter<?,?> converter,private final non-sealed List<org.modelmapper.spi.PropertyInfo> destinationMutators,private final non-sealed boolean explicit,private final non-sealed java.lang.String path,protected Provider<?> provider,private int skipType