Program: 30165
Project: 30165
Buggy source:
@Override protected void inputsToModel(boolean create){
  String type=typePanel.getText();
  boolean typeChanged=false;
  BaseActor oldElement=e;
  String oldId=e.getId();
  boolean isPlayer=false;
  if (!create) {
    typeChanged=(type.equals(CHARACTER_TYPE_STR) && !(e instanceof CharacterActor)) || (type.equals(SPRITE_TYPE_STR) && (!(e instanceof SpriteActor) || e instanceof CharacterActor)) || (type.equals(BACKGROUND_TYPE_STR) && (!(e instanceof InteractiveActor) || e instanceof SpriteActor))|| (type.equals(OBSTACLE_TYPE_STR) && !(e instanceof ObstacleActor))|| (type.equals(ANCHOR_TYPE_STR) && !(e instanceof AnchorActor));
    isPlayer=parent.getPlayer() == e;
    parent.removeActor(e);
  }
  if (create || typeChanged) {
    if (type.equals(BACKGROUND_TYPE_STR)) {
      e=new InteractiveActor();
    }
 else     if (type.equals(SPRITE_TYPE_STR)) {
      e=new SpriteActor();
    }
 else     if (type.equals(CHARACTER_TYPE_STR)) {
      e=new CharacterActor();
    }
 else     if (type.equals(OBSTACLE_TYPE_STR)) {
      e=new ObstacleActor();
    }
 else     if (type.equals(ANCHOR_TYPE_STR)) {
      e=new AnchorActor();
    }
    if (!(e instanceof SpriteActor) && !(e instanceof AnchorActor)) {
      Polygon bbox=e.getBBox();
      bbox.setVertices(new float[8]);
      float[] verts=bbox.getVertices();
      verts[0]=-DEFAULT_DIM / 2;
      verts[1]=0f;
      verts[2]=-DEFAULT_DIM / 2;
      verts[3]=DEFAULT_DIM;
      verts[4]=DEFAULT_DIM / 2;
      verts[5]=DEFAULT_DIM;
      verts[6]=DEFAULT_DIM / 2;
      verts[7]=0f;
      bbox.dirty();
    }
  }
  if (typeChanged) {
    if (oldElement instanceof InteractiveActor && e instanceof InteractiveActor) {
      HashMap<String,Verb> verbs=((InteractiveActor)e).getVerbManager().getVerbs();
      HashMap<String,Verb> oldVerbs=((InteractiveActor)oldElement).getVerbManager().getVerbs();
      for (      String k : oldVerbs.keySet()) {
        Verb v=oldVerbs.get(k);
        verbs.put(k,v);
      }
    }
    if (oldElement instanceof SpriteActor && e instanceof SpriteActor) {
      ((SpriteActor)e).setRenderer(((SpriteActor)oldElement).getRenderer());
    }
  }
  e.setId(ElementUtils.getCheckedId(id.getText(),parent.getActors().keySet().toArray(new String[0])));
  e.setVisible(Boolean.parseBoolean(visible.getText()));
  Vector2 p=Param.parseVector2(pos.getText());
  e.setPosition(p.x,p.y);
  if (e instanceof InteractiveActor) {
    InteractiveActor ia=(InteractiveActor)e;
    ia.setLayer(layer.getText());
    ia.setInteraction(Boolean.parseBoolean(interaction.getText()));
    Vector2 rp=Param.parseVector2(refPoint.getText());
    ia.setRefPoint(rp.x,rp.y);
    String key=ia.getDesc();
    if (key == null || key.isEmpty() || key.charAt(0) != I18N.PREFIX || !oldId.equals(e.getId()))     key=Ctx.project.getI18N().genKey(parent.getId(),e.getId(),"String_Node_Str");
    Ctx.project.getI18N().setTranslation(key,desc.getText());
    if (desc.getText() != null)     ia.setDesc(key);
 else     ia.setDesc(null);
    ia.setState(state.getText());
    ia.setZIndex(Float.parseFloat(zIndex.getText()));
    if (e instanceof SpriteActor) {
      SpriteActor sa=(SpriteActor)e;
      String rendererType=renderer.getText();
      if (Project.ATLAS_RENDERER_STRING.equals(rendererType)) {
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof AtlasRenderer))         sa.setRenderer(new AtlasRenderer());
      }
 else       if (Project.IMAGE_RENDERER_STRING.equals(rendererType)) {
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof ImageRenderer))         sa.setRenderer(new ImageRenderer());
      }
 else       if (Project.S3D_RENDERER_STRING.equals(rendererType)) {
        Sprite3DRenderer r;
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof Sprite3DRenderer)) {
          r=new Sprite3DRenderer();
          sa.setRenderer(r);
        }
 else {
          r=(Sprite3DRenderer)sa.getRenderer();
        }
        r.setCameraFOV(Float.parseFloat(fov.getText()));
        r.setCameraName(cameraName.getText());
        r.setSpriteSize(Param.parseVector2(spriteSize.getText()));
      }
 else       if (Project.PARTICLE_RENDERER_STRING.equals(rendererType)) {
        ParticleRenderer r;
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof ParticleRenderer)) {
          r=new ParticleRenderer();
          sa.setRenderer(r);
        }
 else {
          r=(ParticleRenderer)sa.getRenderer();
        }
        r.setParticleName(particleName.getText());
        r.setAtlasName(particleAtlas.getText());
      }
 else       if (Project.TEXT_RENDERER_STRING.equals(rendererType)) {
        TextRenderer r;
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof TextRenderer)) {
          r=new TextRenderer();
          sa.setRenderer(r);
        }
 else {
          r=(TextRenderer)sa.getRenderer();
        }
        key=text.getText();
        if (key == null || key.isEmpty() || key.charAt(0) != I18N.PREFIX || !oldId.equals(e.getId()))         key=Ctx.project.getI18N().genKey(parent.getId(),e.getId(),"String_Node_Str");
        Ctx.project.getI18N().setTranslation(key,text.getText());
        if (text.getText() != null)         r.setText(key,text.getText());
 else         r.setText(null,null);
        r.setFontSize(Integer.parseInt(size.getText()));
        r.setFontName(font.getText());
        r.setAlign(AlignUtils.getAlign(textAlign.getText()));
        r.setBorderWidth(Integer.parseInt(borderWidth.getText()));
        r.setBorderColor(Param.parseColor(borderColor.getText()));
        r.setBorderStraight(Boolean.parseBoolean(borderStraight.getText()));
        r.setShadowOffsetX(Integer.parseInt(shadowOffsetX.getText()));
        r.setShadowOffsetY(Integer.parseInt(shadowOffsetY.getText()));
        r.setShadowColor(Param.parseColor(shadowColor.getText()));
        sa.dispose();
      }
 else       if (Project.SPINE_RENDERER_STRING.equals(rendererType)) {
        SpineRenderer r;
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof SpineRenderer)) {
          r=new SpineRenderer();
          sa.setRenderer(r);
        }
 else {
          r=(SpineRenderer)sa.getRenderer();
        }
        r.setSkin(spineSkin.getText());
      }
      boolean bbfr=Boolean.parseBoolean(bboxFromRenderer.getText());
      if (bbfr != sa.isBboxFromRenderer())       sa.setBboxFromRenderer(bbfr);
      sa.setFakeDepth(Boolean.parseBoolean(fakeDepth.getText()));
      sa.setScale(Float.parseFloat(scale.getText()));
      sa.setRot(Float.parseFloat(rot.getText()));
      sa.getRenderer().setOrgAlign(AlignUtils.getAlign(orgAlign.getText()));
      sa.setTint(Param.parseColor(tint.getText()));
      if (e instanceof CharacterActor) {
        CharacterActor ca=(CharacterActor)e;
        ca.setWalkingSpeed(Float.parseFloat(walkingSpeed.getText()));
        ca.setTextColor(Param.parseColor(textColor.getText()));
        ca.setTextStyle(textStyle.getText());
      }
    }
  }
  parent.addActor(e);
  if (isPlayer && !typeChanged)   parent.setPlayer((CharacterActor)e);
  if (e instanceof InteractiveActor) {
    SceneLayer l=parent.getLayer(((InteractiveActor)e).getLayer());
    l.orderByZIndex();
  }
  if (e instanceof SpriteActor)   ((SpriteActor)e).retrieveAssets();
  Ctx.project.setModified();
}

Fixed version (ground truth):
@Override protected void inputsToModel(boolean create){
  String type=typePanel.getText();
  boolean typeChanged=false;
  BaseActor oldElement=e;
  String oldId=null;
  boolean isPlayer=false;
  if (!create) {
    typeChanged=(type.equals(CHARACTER_TYPE_STR) && !(e instanceof CharacterActor)) || (type.equals(SPRITE_TYPE_STR) && (!(e instanceof SpriteActor) || e instanceof CharacterActor)) || (type.equals(BACKGROUND_TYPE_STR) && (!(e instanceof InteractiveActor) || e instanceof SpriteActor))|| (type.equals(OBSTACLE_TYPE_STR) && !(e instanceof ObstacleActor))|| (type.equals(ANCHOR_TYPE_STR) && !(e instanceof AnchorActor));
    isPlayer=parent.getPlayer() == e;
    parent.removeActor(e);
    oldId=e.getId();
  }
  if (create || typeChanged) {
    if (type.equals(BACKGROUND_TYPE_STR)) {
      e=new InteractiveActor();
    }
 else     if (type.equals(SPRITE_TYPE_STR)) {
      e=new SpriteActor();
    }
 else     if (type.equals(CHARACTER_TYPE_STR)) {
      e=new CharacterActor();
    }
 else     if (type.equals(OBSTACLE_TYPE_STR)) {
      e=new ObstacleActor();
    }
 else     if (type.equals(ANCHOR_TYPE_STR)) {
      e=new AnchorActor();
    }
    if (!(e instanceof SpriteActor) && !(e instanceof AnchorActor)) {
      Polygon bbox=e.getBBox();
      bbox.setVertices(new float[8]);
      float[] verts=bbox.getVertices();
      verts[0]=-DEFAULT_DIM / 2;
      verts[1]=0f;
      verts[2]=-DEFAULT_DIM / 2;
      verts[3]=DEFAULT_DIM;
      verts[4]=DEFAULT_DIM / 2;
      verts[5]=DEFAULT_DIM;
      verts[6]=DEFAULT_DIM / 2;
      verts[7]=0f;
      bbox.dirty();
    }
  }
  if (typeChanged) {
    if (oldElement instanceof InteractiveActor && e instanceof InteractiveActor) {
      HashMap<String,Verb> verbs=((InteractiveActor)e).getVerbManager().getVerbs();
      HashMap<String,Verb> oldVerbs=((InteractiveActor)oldElement).getVerbManager().getVerbs();
      for (      String k : oldVerbs.keySet()) {
        Verb v=oldVerbs.get(k);
        verbs.put(k,v);
      }
    }
    if (oldElement instanceof SpriteActor && e instanceof SpriteActor) {
      ((SpriteActor)e).setRenderer(((SpriteActor)oldElement).getRenderer());
    }
  }
  e.setId(ElementUtils.getCheckedId(id.getText(),parent.getActors().keySet().toArray(new String[0])));
  e.setVisible(Boolean.parseBoolean(visible.getText()));
  Vector2 p=Param.parseVector2(pos.getText());
  e.setPosition(p.x,p.y);
  if (e instanceof InteractiveActor) {
    InteractiveActor ia=(InteractiveActor)e;
    ia.setLayer(layer.getText());
    ia.setInteraction(Boolean.parseBoolean(interaction.getText()));
    Vector2 rp=Param.parseVector2(refPoint.getText());
    ia.setRefPoint(rp.x,rp.y);
    String key=ia.getDesc();
    if (key == null || key.isEmpty() || key.charAt(0) != I18N.PREFIX || !e.getId().equals(oldId))     key=Ctx.project.getI18N().genKey(parent.getId(),e.getId(),"String_Node_Str");
    Ctx.project.getI18N().setTranslation(key,desc.getText());
    if (desc.getText() != null)     ia.setDesc(key);
 else     ia.setDesc(null);
    ia.setState(state.getText());
    ia.setZIndex(Float.parseFloat(zIndex.getText()));
    if (e instanceof SpriteActor) {
      SpriteActor sa=(SpriteActor)e;
      String rendererType=renderer.getText();
      if (Project.ATLAS_RENDERER_STRING.equals(rendererType)) {
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof AtlasRenderer))         sa.setRenderer(new AtlasRenderer());
      }
 else       if (Project.IMAGE_RENDERER_STRING.equals(rendererType)) {
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof ImageRenderer))         sa.setRenderer(new ImageRenderer());
      }
 else       if (Project.S3D_RENDERER_STRING.equals(rendererType)) {
        Sprite3DRenderer r;
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof Sprite3DRenderer)) {
          r=new Sprite3DRenderer();
          sa.setRenderer(r);
        }
 else {
          r=(Sprite3DRenderer)sa.getRenderer();
        }
        r.setCameraFOV(Float.parseFloat(fov.getText()));
        r.setCameraName(cameraName.getText());
        r.setSpriteSize(Param.parseVector2(spriteSize.getText()));
      }
 else       if (Project.PARTICLE_RENDERER_STRING.equals(rendererType)) {
        ParticleRenderer r;
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof ParticleRenderer)) {
          r=new ParticleRenderer();
          sa.setRenderer(r);
        }
 else {
          r=(ParticleRenderer)sa.getRenderer();
        }
        r.setParticleName(particleName.getText());
        r.setAtlasName(particleAtlas.getText());
      }
 else       if (Project.TEXT_RENDERER_STRING.equals(rendererType)) {
        TextRenderer r;
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof TextRenderer)) {
          r=new TextRenderer();
          sa.setRenderer(r);
        }
 else {
          r=(TextRenderer)sa.getRenderer();
        }
        key=text.getText();
        if (key == null || key.isEmpty() || key.charAt(0) != I18N.PREFIX || !e.getId().equals(oldId))         key=Ctx.project.getI18N().genKey(parent.getId(),e.getId(),"String_Node_Str");
        Ctx.project.getI18N().setTranslation(key,text.getText());
        if (text.getText() != null)         r.setText(key,text.getText());
 else         r.setText(null,null);
        r.setFontSize(Integer.parseInt(size.getText()));
        r.setFontName(font.getText());
        r.setAlign(AlignUtils.getAlign(textAlign.getText()));
        r.setBorderWidth(Integer.parseInt(borderWidth.getText()));
        r.setBorderColor(Param.parseColor(borderColor.getText()));
        r.setBorderStraight(Boolean.parseBoolean(borderStraight.getText()));
        r.setShadowOffsetX(Integer.parseInt(shadowOffsetX.getText()));
        r.setShadowOffsetY(Integer.parseInt(shadowOffsetY.getText()));
        r.setShadowColor(Param.parseColor(shadowColor.getText()));
        sa.dispose();
      }
 else       if (Project.SPINE_RENDERER_STRING.equals(rendererType)) {
        SpineRenderer r;
        if (sa.getRenderer() == null || !(sa.getRenderer() instanceof SpineRenderer)) {
          r=new SpineRenderer();
          sa.setRenderer(r);
        }
 else {
          r=(SpineRenderer)sa.getRenderer();
        }
        r.setSkin(spineSkin.getText());
      }
      boolean bbfr=Boolean.parseBoolean(bboxFromRenderer.getText());
      if (bbfr != sa.isBboxFromRenderer())       sa.setBboxFromRenderer(bbfr);
      sa.setFakeDepth(Boolean.parseBoolean(fakeDepth.getText()));
      sa.setScale(Float.parseFloat(scale.getText()));
      sa.setRot(Float.parseFloat(rot.getText()));
      sa.getRenderer().setOrgAlign(AlignUtils.getAlign(orgAlign.getText()));
      sa.setTint(Param.parseColor(tint.getText()));
      if (e instanceof CharacterActor) {
        CharacterActor ca=(CharacterActor)e;
        ca.setWalkingSpeed(Float.parseFloat(walkingSpeed.getText()));
        ca.setTextColor(Param.parseColor(textColor.getText()));
        ca.setTextStyle(textStyle.getText());
      }
    }
  }
  parent.addActor(e);
  if (isPlayer && !typeChanged)   parent.setPlayer((CharacterActor)e);
  if (e instanceof InteractiveActor) {
    SceneLayer l=parent.getLayer(((InteractiveActor)e).getLayer());
    l.orderByZIndex();
  }
  if (e instanceof SpriteActor)   ((SpriteActor)e).retrieveAssets();
  Ctx.project.setModified();
}