Return new instance of extending class from superclass

view story

http://stackoverflow.com – I'm building an Android application that has multiple classes extending a 'Model' class. This is my code right now: public class Model { protected int mId; public int getId() { return mId; } public Model(JSONObject json) { try { mId = json.getInt("id"); } catch (JSONException e) { e.printStackTrace(); } } public Class<? extends Model> getBy(String property, String value) { // should return new instance of extending class return null; } } public class Song extends Model { protected String (HowTos)